Re: [PATCH/RFC] completion: complete all possible -no-<options>
From: Duy Nguyen <hidden>
Date: 2018-05-08 15:24:38
On Mon, Apr 23, 2018 at 7:36 AM, Eric Sunshine [off-list ref] wrote:
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