From: Jeff King Date: Tue, 19 May 2026 21:22:34 GMT Subject: Re: [PATCH] git-jump: pick a mode automatically when invoked without arguments Message-ID: <20260519212234.GA2278669@coredump.intra.peff.net> In-Reply-To: <8f4b75d8-f875-434a-8fc5-06a708cbc53f@app.fastmail.com> On Tue, May 19, 2026 at 11:03:44AM +0200, Greg Hurrell wrote: > On Thu, May 14, 2026, at 5:40 PM, Erik Cervin Edin wrote: > > On 26/05/08 09:07AM, Greg Hurrell via GitGitGadget wrote: > > > -usage: git jump [--stdout] [] > > > +usage: git jump [--stdout] [] [] > > > > The usage message makes optional but doesn't explain what > > happens when you omit it. Seems worth documenting the auto-detect behavior > > there too. > > > > If we're going to teach git-jump how to be more clever about where to jump, > > does it also make sense to bake `git jump ws` into this? > > > > Also, if this is going to grow into a proper auto-detect heuristic, it > > might be cleaner as a first-class mode rather than logic spliced into the > > argument parser. Something like: > > > > mode_auto() { > > if test -n "$(git ls-files -u)"; then > > mode_merge "$@" > > elif ! git diff --quiet; then > > mode_diff "$@" > > elif ! git diff --cached --check >/dev/null 2>&1; then > > mode_ws --cached "$@" > > else > > return 0 > > fi > > } > > > > That way `git jump auto` works explicitly, bare `git jump` defaults > > to it (just `set -- auto` when $# -lt 1), and the usage text can > > document the heuristic. It also keeps the detection and dispatch in > > one place in case someone wants to tweak the priority later. > > All of those suggestions sound reasonable to me. Jeff, do you agree? > If so, I can update the patch. Yeah, I agree that having an explicit "auto" mode (and then just defaulting to it) makes perfect sense. I don't really have an opinion on adding "ws" in here. Despite being the person who added the whitespace mode in the first place, I can't remember ever using it in the last 10 years. ;) But the cost is fairly low to support it, so we might as well. -Peff