summaryrefslogtreecommitdiff
path: root/git.c
diff options
context:
space:
mode:
authorNguyễn Thái Ngọc Duy <pclouds@gmail.com>2018-05-20 18:39:59 (GMT)
committerJunio C Hamano <gitster@pobox.com>2018-05-21 04:23:14 (GMT)
commit6bb2dc0b9472a84c7d17ee93bda28a7c1c97d415 (patch)
treea7e2eb1915f25ed24190aaacbf2e26e9146c8737 /git.c
parente5d7a61953c236fbc468bc1bb01383766d2cb55b (diff)
downloadgit-6bb2dc0b9472a84c7d17ee93bda28a7c1c97d415.zip
git-6bb2dc0b9472a84c7d17ee93bda28a7c1c97d415.tar.gz
git-6bb2dc0b9472a84c7d17ee93bda28a7c1c97d415.tar.bz2
completion: implement and use --list-cmds=main,others
This is part of the effort to break down and provide commands by category in machine-readable form. This could be helpful later on when completion script switches to use --list-cmds for selecting completable commands. It would be much easier for the user to choose to complete _all_ commands instead of the default selection by passing different values to --list-cmds in git-completino.bash. While at there, replace "git help -a" in git-completion.bash with --list-cmds since it's better suited for this task. Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'git.c')
-rw-r--r--git.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/git.c b/git.c
index 376a59b..10907f7 100644
--- a/git.c
+++ b/git.c
@@ -56,6 +56,10 @@ static int list_cmds(const char *spec)
if (match_token(spec, len, "builtins"))
list_builtins(&list, 0);
+ else if (match_token(spec, len, "main"))
+ list_all_main_cmds(&list);
+ else if (match_token(spec, len, "others"))
+ list_all_other_cmds(&list);
else
die(_("unsupported command listing type '%s'"), spec);
spec += len;