[PATCH 3/7] builtin-help: make list_commands() a bit more generic
- From
Miklos Vajna <vmiklos@frugalware.org>
- Date
- Jul 26, 2008, 21:40 UTC
- Message-ID
- <3db8fbf82ab865b9dab5899f9a7e867ef005ecb6.1217108282.git.vmiklos@frugalware.org>
- In-Reply-To
- <Pine.GSO.4.62.0807261319310.16184@harper.uchicago.edu>
That function now takes two paramters to control the prefix of the listed commands, and a second parameter to specify the title of the table. This can be useful for listing not only all git commands, but specific ones, like merge strategies.
Signed-off-by: Miklos Vajna <vmiklos@frugalware.org> ---
On Sat, Jul 26, 2008 at 01:28:39PM -0500, Jonathan Nieder <jrnieder@uchicago.edu> wrote:
Show 17 quoted lines
> > if (main_cmds.cnt) {
> > - printf("available git commands in '%s'\n", exec_path);
> > + printf("available %s in '%s'\n", title, exec_path);
> > printf("----------------------------");
> > mput_char('-', strlen(exec_path));
> > putchar('\n');
>
> Should this be
>
> printf("available %s in '%s'\n", title, exec_path);
> printf("----------------");
> mput_char('-', strlen(exec_path) + strlen(title));
> putchar('\n');
>
> ?
>
> (same question goes for the if(other_cmds.cnt) block, too)Right. Here is an updated patch.
Also available at git://repo.or.cz/git/vmiklos.git, branch 'merge-custom'.
help.c | 18 ++++++++++-------- help.h | 1 + 2 files changed, 11 insertions(+), 8 deletions(-)
diff --git a/help.c b/help.c index d71937e..ec7999d 100644 --- a/help.c +++ b/help.c @@ -501,23 +501,25 @@ static unsigned int load_command_list(const char *prefix) return longest; } -static void list_commands(void) +void list_commands(const char *prefix, const char *title) { - unsigned int longest = load_command_list(NULL); + unsigned int longest = load_command_list(prefix); const char *exec_path = git_exec_path(); if (main_cmds.cnt) { - printf("available git commands in '%s'\n", exec_path); - printf("----------------------------"); - mput_char('-', strlen(exec_path)); + printf("available %s in '%s'\n", title, exec_path); + printf("----------------"); + mput_char('-', strlen(title) + strlen(exec_path)); putchar('\n'); pretty_print_string_list(&main_cmds, longest); putchar('\n'); } if (other_cmds.cnt) { - printf("git commands available from elsewhere on your $PATH\n"); - printf("---------------------------------------------------\n"); + printf("%s available from elsewhere on your $PATH\n", title); + printf("---------------------------------------"); + mput_char('-', strlen(title)); + putchar('\n'); pretty_print_string_list(&other_cmds, longest); putchar('\n'); } @@ -697,7 +699,7 @@ int cmd_help(int argc, const char **argv, const char *prefix) if (show_all) { printf("usage: %s\n\n", git_usage_string); - list_commands(); + list_commands("git-", "git commands"); printf("%s\n", git_more_info_string); return 0; } diff --git a/help.h b/help.h index 73da8d6..0741662 100644 --- a/help.h +++ b/help.h @@ -2,5 +2,6 @@ #define HELP_H int is_git_command(const char *s, const char *prefix); +void list_commands(const char *prefix, const char *title); #endif /* HELP_H */
-- 1.6.0.rc0.14.g95f8.dirty