diff options
author | Nguyễn Thái Ngọc Duy <pclouds@gmail.com> | 2018-05-20 21:40:08 +0300 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2018-05-21 07:23:14 +0300 |
commit | 3301d36b29467a05107340e4d9688ebf74335021 (patch) | |
tree | 79d2588a177b9c0d77c09b738be9a6b75a877bf7 /git.c | |
parent | e11dca10cfb3ef1e561c3e789b346a9719f0344a (diff) |
completion: add and use --list-cmds=alias
By providing aliases via --list-cmds=, we could simplify command
collection code in the script. We only issue one git command. Before
this patch that is "git config", after it's "git --list-cmds=". In
"git help" completion case we actually reduce one "git" process (for
getting guides) but that call was added in this series so it does not
really count.
A couple of bash functions are removed because they are not needed
anymore. __git_compute_all_commands() and $__git_all_commands stay
because they are still needed for completing pager.* config and
without "alias" group, the result is still cacheable.
There is a slight (good) change in _git_help() with this patch: before
"git help <tab>" shows external commands (as in _not_ part of git) as
well as part of $__git_all_commands. We have finer control over
command listing now and can exclude that because we can't provide a
man page for external commands anyway.
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.c | 2 |
1 files changed, 2 insertions, 0 deletions
@@ -75,6 +75,8 @@ static int list_cmds(const char *spec) list_all_other_cmds(&list); else if (match_token(spec, len, "nohelpers")) exclude_helpers_from_list(&list); + else if (match_token(spec, len, "alias")) + list_aliases(&list); else if (len > 5 && !strncmp(spec, "list-", 5)) { struct strbuf sb = STRBUF_INIT; |