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, Jeff King <peff@peff.net>,
	Carlo Arenas <carenas@gmail.com>,
	Eric Sunshine <sunshine@sunshineco.com>
Subject: Re: [PATCH v4 4/4] parse-options: properly align continued usage output
Date: Sun, 12 Sep 2021 23:41:36 -0700	[thread overview]
Message-ID: <xmqq8s01geov.fsf@gitster.g> (raw)
In-Reply-To: <patch-v4-4.4-55480dee680-20210912T235347Z-avarab@gmail.com> (=?utf-8?B?IsOGdmFyIEFybmZqw7Zyw7A=?= Bjarmason"'s message of "Mon, 13 Sep 2021 02:13:22 +0200")

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

> Some commands such as "git stash" emit continued options output with
> e.g. "git stash -h", because usage_with_options_internal() prefixes
> with its own whitespace the resulting output wasn't properly
> aligned. Let's account for the added whitespace, which properly aligns
> the output.
>
> The "git stash" command has usage output with a N_() translation that
> legitimately stretches across multiple lines;
>
> 	N_("git stash [push [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet]\n"
> 	   "          [-u|--include-untracked] [-a|--all] [-m|--message <message>]\n"
>            [...]
>
> We'd like to have that output aligned with the length of the initial
> "git stash " output, but since usage_with_options_internal() adds its
> own whitespace prefixing we fell short, before this change we'd emit:
>
>     $ git stash -h
>     usage: git stash list [<options>]
>        or: git stash show [<options>] [<stash>]
>        [...]
>        or: git stash [push [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet]
>               [-u|--include-untracked] [-a|--all] [-m|--message <message>]
>               [...]
>
> Now we'll properly emit aligned output.  I.e. the last four lines
> above will instead be (a whitespace-only change to the above):
>
>        [...]
>        or: git stash [push [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet]
>                      [-u|--include-untracked] [-a|--all] [-m|--message <message>]
>                      [...]
>
> We could also go for an approach where we have the caller support no
> padding of their own, i.e. (same as the first example, except for the
> padding on the second line):
>
> 	N_("git stash [push [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet]\n"
> 	   "[-u|--include-untracked] [-a|--all] [-m|--message <message>]\n"
>            [...]
>
> But to do that we'll need to find the length of "git stash". We can
> discover that from the "cmd" in the "struct cmd_struct", but there
> might cases with sub-commands or "git" itself taking arguments that

A "be" is missing here.

> would make that non-trivial.
>
> Even if it was I still think this approach is better, because this way

"was" -> "were,", I think.

Even though this step has quite a lot of comment strings meant for
human consumption, I didn't hunt for grammos and typos and only
looked at the code.  Somebody else may want to proof-read it.

The new code looked OK.  Do we want to have some new test in
t/helper/test-*.c with fixed "command help string"?

Thanks.

  reply	other threads:[~2021-09-13  6:41 UTC|newest]

Thread overview: 45+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-09-01 11:12 [PATCH 0/2] parse-options: properly align continued usage output Ævar Arnfjörð Bjarmason
2021-09-01 11:12 ` [PATCH 1/2] built-ins: "properly" " Ævar Arnfjörð Bjarmason
2021-09-01 11:12 ` [PATCH 2/2] parse-options: properly " Ævar Arnfjörð Bjarmason
2021-09-10  7:51   ` Eric Sunshine
2021-09-10 15:38 ` [PATCH v2 0/6] parse-options: properly align continued usage output & related Ævar Arnfjörð Bjarmason
2021-09-10 15:38   ` [PATCH v2 1/6] test-lib.sh: add a UNIX_SOCKETS prerequisite Ævar Arnfjörð Bjarmason
2021-09-10 15:38   ` [PATCH v2 2/6] git.c: add a NEED_UNIX_SOCKETS option for built-ins Ævar Arnfjörð Bjarmason
2021-09-11  0:14     ` Junio C Hamano
2021-09-11  2:50       ` Ævar Arnfjörð Bjarmason
2021-09-11  3:47         ` Carlo Marcelo Arenas Belón
2021-09-11  6:12           ` Junio C Hamano
2021-09-11  7:16           ` Ævar Arnfjörð Bjarmason
2021-09-10 15:38   ` [PATCH v2 3/6] parse-options: stop supporting "" in the usagestr array Ævar Arnfjörð Bjarmason
2021-09-11  0:21     ` Junio C Hamano
2021-09-11  2:46       ` Ævar Arnfjörð Bjarmason
2021-09-11  6:52         ` Junio C Hamano
2021-09-10 15:38   ` [PATCH v2 4/6] built-ins: "properly" align continued usage output Ævar Arnfjörð Bjarmason
2021-09-11  0:25     ` Junio C Hamano
2021-09-11  2:40       ` Ævar Arnfjörð Bjarmason
2021-09-10 15:38   ` [PATCH v2 5/6] send-pack: properly use parse_options() API for usage string Ævar Arnfjörð Bjarmason
2021-09-10 15:38   ` [PATCH v2 6/6] parse-options: properly align continued usage output Ævar Arnfjörð Bjarmason
2021-09-11  7:41   ` [PATCH v2 0/6] parse-options: properly align continued usage output & related Eric Sunshine
2021-09-11 19:08   ` [PATCH v3 " Ævar Arnfjörð Bjarmason
2021-09-11 19:09     ` [PATCH v3 1/6] credential-cache{,--daemon}: don't build under NO_UNIX_SOCKETS Ævar Arnfjörð Bjarmason
2021-09-12 21:48       ` Junio C Hamano
2021-09-11 19:09     ` [PATCH v3 2/6] blame: replace usage end blurb with better option spec Ævar Arnfjörð Bjarmason
2021-09-12  4:45       ` Eric Sunshine
2021-09-12 22:22       ` Junio C Hamano
2021-09-11 19:09     ` [PATCH v3 3/6] parse-options: stop supporting "" in the usagestr array Ævar Arnfjörð Bjarmason
2021-09-12 22:26       ` Junio C Hamano
2021-09-13  0:21         ` Ævar Arnfjörð Bjarmason
2021-09-11 19:09     ` [PATCH v3 4/6] built-ins: "properly" align continued usage output Ævar Arnfjörð Bjarmason
2021-09-11 19:09     ` [PATCH v3 5/6] send-pack: properly use parse_options() API for usage string Ævar Arnfjörð Bjarmason
2021-09-11 19:09     ` [PATCH v3 6/6] parse-options: properly align continued usage output Ævar Arnfjörð Bjarmason
2021-09-13  0:13     ` [PATCH v4 0/4] " Ævar Arnfjörð Bjarmason
2021-09-13  0:13       ` [PATCH v4 1/4] parse-options API users: align usage output in C-strings Ævar Arnfjörð Bjarmason
2021-09-13  0:13       ` [PATCH v4 2/4] send-pack: properly use parse_options() API for usage string Ævar Arnfjörð Bjarmason
2021-09-13  0:13       ` [PATCH v4 3/4] git rev-parse --parseopt tests: add more usagestr tests Ævar Arnfjörð Bjarmason
2021-09-13  0:13       ` [PATCH v4 4/4] parse-options: properly align continued usage output Ævar Arnfjörð Bjarmason
2021-09-13  6:41         ` Junio C Hamano [this message]
2021-09-21 13:30       ` [PATCH v5 0/4] " Ævar Arnfjörð Bjarmason
2021-09-21 13:30         ` [PATCH v5 1/4] parse-options API users: align usage output in C-strings Ævar Arnfjörð Bjarmason
2021-09-21 13:30         ` [PATCH v5 2/4] send-pack: properly use parse_options() API for usage string Ævar Arnfjörð Bjarmason
2021-09-21 13:30         ` [PATCH v5 3/4] git rev-parse --parseopt tests: add more usagestr tests Ævar Arnfjörð Bjarmason
2021-09-21 13:30         ` [PATCH v5 4/4] parse-options: properly align continued usage output Ævar Arnfjörð Bjarmason

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=xmqq8s01geov.fsf@gitster.g \
    --to=gitster@pobox.com \
    --cc=avarab@gmail.com \
    --cc=carenas@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=peff@peff.net \
    --cc=sunshine@sunshineco.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.