help: add "-a --verbose" to list all commands with synopsis
This lists all recognized commands [1] by category. The group order follows closely git.txt. [1] We may actually show commands that are not built (e.g. if you set NO_PERL you don't have git-instaweb but it's still listed here). I ignore the problem because on Linux a git package could be split anyway. The "git-core" package may not contain git-instaweb even if it's built because it may end up in a separate package. We can't know anyway. Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:

committed by
Junio C Hamano

parent
3c7777672b
commit
63eae83f8f
16
help.c
16
help.c
@ -27,6 +27,17 @@ static struct category_description common_categories[] = {
|
||||
{ CAT_remote, N_("collaborate (see also: git help workflows)") },
|
||||
{ 0, NULL }
|
||||
};
|
||||
static struct category_description main_categories[] = {
|
||||
{ CAT_mainporcelain, N_("Main Porcelain Commands") },
|
||||
{ CAT_ancillarymanipulators, N_("Ancillary Commands / Manipulators") },
|
||||
{ CAT_ancillaryinterrogators, N_("Ancillary Commands / Interrogators") },
|
||||
{ CAT_foreignscminterface, N_("Interacting with Others") },
|
||||
{ CAT_plumbingmanipulators, N_("Low-level Commands / Manipulators") },
|
||||
{ CAT_plumbinginterrogators, N_("Low-level Commands / Interrogators") },
|
||||
{ CAT_synchingrepositories, N_("Low-level Commands / Synching Repositories") },
|
||||
{ CAT_purehelpers, N_("Low-level Commands / Internal Helpers") },
|
||||
{ 0, NULL }
|
||||
};
|
||||
|
||||
static const char *drop_prefix(const char *name)
|
||||
{
|
||||
@ -352,6 +363,11 @@ void list_cmds_by_category(struct string_list *list,
|
||||
}
|
||||
}
|
||||
|
||||
void list_all_cmds_help(void)
|
||||
{
|
||||
print_cmd_by_category(main_categories);
|
||||
}
|
||||
|
||||
int is_in_cmdlist(struct cmdnames *c, const char *s)
|
||||
{
|
||||
int i;
|
||||
|
Reference in New Issue
Block a user