All of lore.kernel.org
 help / color / mirror / Atom feed
From: Junio C Hamano <gitster@pobox.com>
To: "Ævar Arnfjörð Bjarmason" <avarab@gmail.com>
Cc: git@vger.kernel.org, "Nguyễn Thái Ngọc Duy" <pclouds@gmail.com>,
	"Eric Sunshine" <sunshine@sunshineco.com>,
	"SZEDER Gábor" <szeder.dev@gmail.com>,
	"Philippe Blain" <levraiphilippeblain@gmail.com>
Subject: Re: [PATCH v2 8/9] help: add --no-[external-commands|aliases] for use with --all
Date: Wed, 23 Feb 2022 14:19:22 -0800	[thread overview]
Message-ID: <xmqqo82xql91.fsf@gitster.g> (raw)
In-Reply-To: <patch-v2-8.9-c81c0cbbcdb-20220221T193708Z-avarab@gmail.com> (=?utf-8?B?IsOGdmFyIEFybmZqw7Zyw7A=?= Bjarmason"'s message of "Mon, 21 Feb 2022 20:38:51 +0100")

Ævar Arnfjörð Bjarmason  <avarab@gmail.com> writes:

> Add the ability to only emit git's own usage information under
> --all. This also allows us to extend the "test_section_spacing" tests
> added in a preceding commit to test "git help --all"
> output.

Makes sense.

> +static int show_external_commands = -1;
> +static int show_aliases = -1;
>  static struct option builtin_help_options[] = {
>  	OPT_CMDMODE('a', "all", &cmd_mode, N_("print all available commands"),
>  		    HELP_ACTION_ALL),
> +	OPT_BOOL(0, "external-commands", &show_external_commands,
> +		 N_("show external commands in --all")),
> +	OPT_BOOL(0, "aliases", &show_aliases, N_("show aliases in --all")),
>  	OPT_HIDDEN_BOOL(0, "exclude-guides", &exclude_guides, N_("exclude guides")),
>  	OPT_SET_INT('m', "man", &help_format, N_("show man page"), HELP_FORMAT_MAN),
>  	OPT_SET_INT('w', "web", &help_format, N_("show manual in web browser"),
> @@ -75,7 +80,7 @@ static struct option builtin_help_options[] = {
>  };
>  
>  static const char * const builtin_help_usage[] = {
> -	N_("git help [-a|--all] [--[no-]verbose]]"),
> +	N_("git help [-a|--all] [--[no-]verbose]] [--[no-]external-commands] [--[no-]aliases]"),
>  	N_("git help [[-i|--info] [-m|--man] [-w|--web]] [<command>]"),
>  	N_("git help [-g|--guides]"),
>  	N_("git help [-c|--config]"),
> @@ -620,12 +625,19 @@ int cmd_help(int argc, const char **argv, const char *prefix)
>  			builtin_help_usage, 0);
>  	parsed_help_format = help_format;
>  
> +	if (cmd_mode != HELP_ACTION_ALL &&
> +	    (show_external_commands >= 0 ||
> +	     show_aliases >= 0))
> +		usage_msg_opt(_("the '--no-[external-commands|aliases]' options can only be used with '--all'"),
> +			      builtin_help_usage, builtin_help_options);

Nice attention to a small detail.

>  	switch (cmd_mode) {
>  	case HELP_ACTION_ALL:
>  		opt_mode_usage(argc, "--all", help_format);
>  		if (verbose) {
>  			setup_pager();
> -			list_all_cmds_help();
> +			list_all_cmds_help(show_external_commands,
> +					   show_aliases);
>  			return 0;
>  		}
>  		printf(_("usage: %s%s"), _(git_usage_string), "\n\n");
> diff --git a/help.c b/help.c
> index 004117347ee..45a21e7e35c 100644
> --- a/help.c
> +++ b/help.c
> @@ -476,15 +476,17 @@ static void list_all_cmds_help_aliases(int longest)
>  	string_list_clear(&alias_list, 1);
>  }
>  
> -void list_all_cmds_help(void)
> +void list_all_cmds_help(int show_external_commands, int show_aliases)
>  {
>  	int longest;
>  
>  	puts(_("See 'git help <command>' to read about a specific subcommand"));
>  	print_cmd_by_category(main_categories, &longest);
>  
> -	list_all_cmds_help_external_commands();
> -	list_all_cmds_help_aliases(longest);
> +	if (show_external_commands)
> +		list_all_cmds_help_external_commands();
> +	if (show_aliases)
> +		list_all_cmds_help_aliases(longest);
>  }

OK.  Quite straight-forward after the earlier split.


  reply	other threads:[~2022-02-23 22:19 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-12-28 15:35 [PATCH 0/7] help: test and fix small "help -g" regression Ævar Arnfjörð Bjarmason
2021-12-28 15:35 ` [PATCH 1/7] help doc: add missing "]" to "[-a|--all]" Ævar Arnfjörð Bjarmason
2021-12-28 15:35 ` [PATCH 2/7] help.c: use puts() instead of printf{,_ln}() for consistency Ævar Arnfjörð Bjarmason
2021-12-28 15:35 ` [PATCH 3/7] help tests: test "git" and "git help [-a|-g] spacing Ævar Arnfjörð Bjarmason
2021-12-28 15:35 ` [PATCH 4/7] help.c: split up list_all_cmds_help() function Ævar Arnfjörð Bjarmason
2021-12-28 15:35 ` [PATCH 5/7] help: error if [-a|-g|-c] and [-i|-m|-w] are combined Ævar Arnfjörð Bjarmason
2021-12-28 16:18   ` Eric Sunshine
2021-12-29  0:04     ` Ævar Arnfjörð Bjarmason
2021-12-28 15:35 ` [PATCH 6/7] help: add --no-[external-commands|aliases] for use with --all Ævar Arnfjörð Bjarmason
2021-12-28 16:28   ` Eric Sunshine
2021-12-28 15:35 ` [PATCH 7/7] help: don't print "\n" before single-section output Ævar Arnfjörð Bjarmason
2022-02-21 19:38 ` [PATCH v2 0/9] help: tests, parse_options() sanity, fix "help -g" regression Ævar Arnfjörð Bjarmason
2022-02-21 19:38   ` [PATCH v2 1/9] help doc: add missing "]" to "[-a|--all]" Ævar Arnfjörð Bjarmason
2022-02-21 19:38   ` [PATCH v2 2/9] help.c: use puts() instead of printf{,_ln}() for consistency Ævar Arnfjörð Bjarmason
2022-02-23 21:51     ` Junio C Hamano
2022-02-23 21:57       ` Ævar Arnfjörð Bjarmason
2022-02-21 19:38   ` [PATCH v2 3/9] help tests: test "git" and "git help [-a|-g] spacing Ævar Arnfjörð Bjarmason
2022-02-21 19:38   ` [PATCH v2 4/9] help.c: split up list_all_cmds_help() function Ævar Arnfjörð Bjarmason
2022-02-23 22:03     ` Junio C Hamano
2022-02-21 19:38   ` [PATCH v2 5/9] help: note the option name on option incompatibility Ævar Arnfjörð Bjarmason
2022-02-23 22:04     ` Junio C Hamano
2022-02-21 19:38   ` [PATCH v2 6/9] help: correct usage & behavior of "git help --all" Ævar Arnfjörð Bjarmason
2022-02-23 22:12     ` Junio C Hamano
2022-02-21 19:38   ` [PATCH v2 7/9] help: error if [-a|-g|-c] and [-i|-m|-w] are combined Ævar Arnfjörð Bjarmason
2022-02-23 22:16     ` Junio C Hamano
2022-02-21 19:38   ` [PATCH v2 8/9] help: add --no-[external-commands|aliases] for use with --all Ævar Arnfjörð Bjarmason
2022-02-23 22:19     ` Junio C Hamano [this message]
2022-02-21 19:38   ` [PATCH v2 9/9] help: don't print "\n" before single-section output Ævar Arnfjörð Bjarmason
2022-02-23 22:31     ` Junio C Hamano

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=xmqqo82xql91.fsf@gitster.g \
    --to=gitster@pobox.com \
    --cc=avarab@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=levraiphilippeblain@gmail.com \
    --cc=pclouds@gmail.com \
    --cc=sunshine@sunshineco.com \
    --cc=szeder.dev@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.