Re: [PATCH v3 7/9] doc: git-log: convert pretty formats to new doc format
- From
SZEDER Gábor <szeder.dev@gmail.com>
- Date
- Aug 17, 2025, 21:29 UTC
- Message-ID
- <aKJJs7OkBIg7Y9J0@szeder.dev>
- In-Reply-To
- <0d461544c9d720e379a867a9713998bf09136885.1751914412.git.gitgitgadget@gmail.com>
On Mon, Jul 07, 2025 at 06:53:30PM +0000, Jean-Noël Avila via GitGitGadget wrote:
Show 22 quoted lines
> From: =?UTF-8?q?Jean-No=C3=ABl=20Avila?= <jn.avila@free.fr> > > - Use _<placeholder>_ instead of <placeholder> in the description > - Use `backticks` for keywords and more complex option > descriptions. The new rendering engine will apply synopsis rules to > these spans. > > For all the formats in the form of %(foo), the formatting needs to be > heavier because we not want the parentheses to be rendered as syntax > elements,but as keywords, i.e. we need to circumvent the syntax highlighting > of synopsis. In this particular case, this requires the heavy escaping of > the parts that contain parentheses with ++. > > Signed-off-by: Jean-Noël Avila <jn.avila@free.fr> > --- > Documentation/pretty-formats.adoc | 283 +++++++++++++++--------------- > 1 file changed, 143 insertions(+), 140 deletions(-) > > diff --git a/Documentation/pretty-formats.adoc b/Documentation/pretty-formats.adoc > index 07475de8c337..9ed0417fc811 100644 > --- a/Documentation/pretty-formats.adoc > +++ b/Documentation/pretty-formats.adoc
Show 25 quoted lines
> +++%(decorate++`[:<option>,...]`++)++::
> ref names with custom decorations. The `decorate` string may be followed by a
> colon and zero or more comma-separated options. Option values may contain
> literal formatting codes. These must be used for commas (`%x2C`) and closing
> parentheses (`%x29`), due to their role in the option syntax.
> +
> -** 'prefix=<value>': Shown before the list of ref names. Defaults to "{nbsp}`(`".
> -** 'suffix=<value>': Shown after the list of ref names. Defaults to "`)`".
> -** 'separator=<value>': Shown between ref names. Defaults to "`,`{nbsp}".
> -** 'pointer=<value>': Shown between HEAD and the branch it points to, if any.
> - Defaults to "{nbsp}`->`{nbsp}".
> -** 'tag=<value>': Shown before tag names. Defaults to "`tag:`{nbsp}".
> +** `prefix=<value>`: Shown before the list of ref names. Defaults to "{nbsp}+(+".
> +** `suffix=<value>`: Shown after the list of ref names. Defaults to "+)+".
> +** `separator=<value>`: Shown between ref names. Defaults to "+,+{nbsp}".
> +** `pointer=<value>`: Shown between HEAD and the branch it points to, if any.
> + Defaults to "{nbsp}+->+{nbsp}".
> +** `tag=<value>`: Shown before tag names. Defaults to "`tag:`{nbsp}".
>
> +
> For example, to produce decorations with no wrapping
> or tag annotations, and spaces as separators:
> +
> -`%(decorate:prefix=,suffix=,tag=,separator= )`
> +++%(decorate:prefix=,suffix=,tag=,separator= )++This section now looks like this when the man page is built with Asciidoctor:
%(decorate[:<option>,...])
ref names with custom decorations. The decorate string may
be followed by a colon and zero or more comma-separated
options. Option values may contain literal formatting
codes. These must be used for commas (%x2C) and closing
parentheses (%x29), due to their role in the option syntax.
parentheses (%x29), due to their role in the option syntax. • prefix=<value>: Shown before the list of ref names.
Defaults to " +(+". • suffix=<value>: Shown after the list of ref names.
Defaults to ")". • separator=<value>: Shown between ref names. Defaults to
", ". • pointer=<value>: Shown between HEAD and the branch it
points to, if any. Defaults to " +→+ ". • tag=<value>: Shown before tag names. Defaults to
"tag: ". For example, to produce decorations with no wrapping or tag
annotations, and spaces as separators:+ %(decorate:prefix=,suffix=,tag=,separator= )
Note the unnecessary + characters in the default values for 'prefix' and 'pointer', and in the latter the "ASCII art" arrow ("->") is now replaced with a unicode arrow character.
Also note that the last three lines are not aligned properly and the example format string starts with a + character as well, but this was the case even before this patch.
I use the distro packaged version of Asciidoctor:
$ asciidoctor --version Asciidoctor 2.0.16 [https://asciidoctor.org] Runtime Environment (ruby 3.0.2p107 (2021-07-07 revision 0db68f0233) [x86_64-linux-gnu]) (lc:UTF-8 fs:UTF-8 in:UTF-8 ex:UTF-8)