Re: [PATCH/RFC] completion: complete all possible -no-<options>
- From
Duy Nguyen <pclouds@gmail.com>
- Date
- May 8, 2018, 15:24 UTC
- Message-ID
- <CACsJy8BGs7EOYFKayL-bgvEbKOJiROF52o3SneLyG9Nm6nUngA@mail.gmail.com>
- In-Reply-To
- <CAPig+cRkUrdtbyGEsY=DQCDoEWTrC-9n4=vKXHEap2gokB2uQg@mail.gmail.com>
On Mon, Apr 23, 2018 at 7:36 AM, Eric Sunshine <sunshine@sunshineco.com> wrote:
Show 15 quoted lines
> I haven't looked at the implementation, so this may be an entirely > stupid suggestion, but would it be possible to instead render the > completions as? > > % git checkout --<tab> > --[no-]conflict= --[no-]patch > --[no-]detach --[no-]progress > --[no-]ignore-other-worktrees --[no-]quiet > --[no-]ignore-skip-worktree-bits --[no-]recurse-submodules > --[no-]merge --theirs > --[no-]orphan= --[no-]track > --ours > > This would address the problem of the --no-* options taking double the > screen space.
It took me so long to reply partly because I remember seeing some guy doing clever trick with tab completion that also shows a short help text in addition to the complete words. I could not find that again and from my reading (also internet searching) it's probably not possible to do this without trickery.
> It's also more intuitive than that lone and somewhat weird-looking > "--no-" suggestion.
It's not that weird if you think about file path completion, where you complete one path component at a time not full path, bash just does not show you full paths to everything.
I'm arguing about this because I want to see your reaction, because I'm thinking of doing the very same thing for config completion. Right now "git config <tab>" gives you two pages of all available config variables. I'm thinking that we "git config <tab>" just shows the groups, e.g.
> ~/w/git $ git config
add. interactive. advice. log. alias. mailmap. am. man.
Only when you do "git config log.<tab>" that it shows you log.*
-- Duy