From: Martin Ågren Date: Fri, 04 Apr 2025 16:39:56 GMT Subject: Re: [PATCH 2/5] doc: fix synopsis analysis logic Message-ID: In-Reply-To: <6206e65ac4d50e174ad7e3dbafaa590b632f214b.1743354964.git.gitgitgadget@gmail.com> On Sun, 30 Mar 2025 at 19:16, Jean-Noël Avila via GitGitGadget wrote: > > The synopsis analysis logic was not able to handle backslashes and stars > which are used in the synopsis of the git-rm command. This patch fixes the > issue by updating the regular expression used to match the keywords. > --- a/Documentation/asciidoctor-extensions.rb.in > +++ b/Documentation/asciidoctor-extensions.rb.in > @@ -50,7 +50,7 @@ module Git > def process parent, reader, attrs > outlines = reader.lines.map do |l| > l.gsub(/(\.\.\.?)([^\]$.])/, '`\1`\2') > - .gsub(%r{([\[\] |()>]|^)([-a-zA-Z0-9:+=~@,/_^\$]+)}, '\1{empty}`\2`{empty}') > + .gsub(%r{([\[\] |()>]|^)([-a-zA-Z0-9:+=~@,/_^\$\\\*]+)}, '\1{empty}`\2`{empty}') > .gsub(/(<[-a-zA-Z0-9.]+>)/, '__\\1__') > .gsub(']', ']{empty}') > end > @@ -72,7 +72,7 @@ module Git > %() > elsif type == :monospaced > node.text.gsub(/(\.\.\.?)([^\]$.])/, '\1\2') > - .gsub(%r{([\[\s|()>.]|^|\]|>)(\.?([-a-zA-Z0-9:+=~@,/_^\$]+\.{0,2})+)}, '\1\2') > + .gsub(%r{([\[\s|()>.]|^|\]|>)(\.?([-a-zA-Z0-9:+=~@,/_^\$\\\*]+\.{0,2})+)}, '\1\2') > .gsub(/(<[-a-zA-Z0-9.]+>)/, '\1') > else > open, close, supports_phrase = QUOTE_TAGS[type] > @@ -100,7 +100,7 @@ module Git > def convert_inline_quoted node > if node.type == :monospaced > node.text.gsub(/(\.\.\.?)([^\]$.])/, '\1\2') > - .gsub(%r{([\[\s|()>.]|^|\]|>)(\.?([-a-zA-Z0-9:+=~@,/_^\$]+\.{0,2})+)}, '\1\2') > + .gsub(%r{([\[\s|()>.]|^|\]|>)(\.?([-a-zA-Z0-9:+=~@,/_^\$\\\*]+\.{0,2})+)}, '\1\2') > .gsub(/(<[-a-zA-Z0-9.]+>)/, '\1') This seems to introduce some extra spacing in the rendered man pages, e.g., "The bundle.* keys" or "Fileglobs (e.g. *.c)". (Asciidoctor 2.0.18.) I haven't dug into the regexes so see what might be the cause. (I only had time to have a look at the first patch, then briefly trying out this one.) Martin