]> git.ipfire.org Git - thirdparty/git.git/commitdiff
parse-options: drop leading space from '--git-completion-helper' output
authorSZEDER Gábor <szeder.dev@gmail.com>
Fri, 19 Aug 2022 16:03:59 +0000 (18:03 +0200)
committerJunio C Hamano <gitster@pobox.com>
Fri, 19 Aug 2022 18:13:14 +0000 (11:13 -0700)
The output of 'git <cmd> --git-completion-helper' always starts with a
space, e.g.:

  $ git config --git-completion-helper
   --global --system --local [...]

This doesn't matter for the completion script, because field splitting
discards that space anyway.

However, later patches in this series will teach parse-options to
handle subcommands, and subcommands will be included in the completion
helper output as well.  This will make the loop printing options (and
subcommands) a tad more complex, so I wanted to test the result.  The
test would have to account for the presence of that leading space,
which bugged my OCD, so let's get rid of it.

Signed-off-by: SZEDER Gábor <szeder.dev@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
parse-options.c

index a0a2cf98fa29a03995090250d232003944a6c653..8748f88e6f344ed6fe8e37d5334c3ca753867712 100644 (file)
@@ -620,7 +620,8 @@ static int show_gitcomp(const struct option *opts, int show_all)
                        suffix = "=";
                if (starts_with(opts->long_name, "no-"))
                        nr_noopts++;
-               printf(" --%s%s", opts->long_name, suffix);
+               printf("%s--%s%s", opts == original_opts ? "" : " ",
+                      opts->long_name, suffix);
        }
        show_negated_gitcomp(original_opts, show_all, -1);
        show_negated_gitcomp(original_opts, show_all, nr_noopts);