All of lore.kernel.org
 help / color / mirror / Atom feed
From: Philippe Blain <levraiphilippeblain@gmail.com>
To: Fernando Ramos <greenfoo@u92.eu>, git@vger.kernel.org
Cc: gitster@pobox.com, davvid@gmail.com, sunshine@sunshineco.com,
	seth@eseth.com, rogi@skylittlesystem.org, bagasdotme@gmail.com
Subject: Re: [PATCH v7 3/4] vimdiff: add tool documentation
Date: Tue, 29 Mar 2022 10:07:34 -0400	[thread overview]
Message-ID: <1bc25dd7-fca6-eab9-c850-3dc2b2dc9e8c@gmail.com> (raw)
In-Reply-To: <20220328223019.271270-4-greenfoo@u92.eu>

Hi Fernando,

Le 2022-03-28 à 18:30, Fernando Ramos a écrit :
> Running 'git {merge,diff}tool --tool-help' now also prints usage
> information about the vimdiff tool (and its variantes) instead of just
> its name.
> 
> Two new functions ('diff_cmd_help()' and 'merge_cmd_help()') have been
> added to the set of functions that each merge tool (ie. scripts found
> inside "mergetools/") can overwrite to provided tool specific
> information.
> 
> Right now, only 'mergetools/vimdiff' implements these functions, but
> other tools are encouraged to do so in the future, specially if they
> take configuration options not explained anywhere else (as it is the
> case with the 'vimdiff' tool and the new 'layout' option)
> 
> In addition, a section has been added to
> "Documentation/git-mergetool.txt" to explain the new "layout"
> configuration option with examples.
> 
> Signed-off-by: Fernando Ramos <greenfoo@u92.eu>
> Signed-off-by: Philippe Blain <levraiphilippeblain@gmail.com>

Thanks :) I think the project convention is to also use the 
'Co-authored-by' trailer as well :) 

> ---
>  Documentation/config/mergetool.txt   |   9 ++
>  Documentation/git-mergetool.txt      |   8 ++
>  Documentation/mergetools/vimdiff.txt | 189 +++++++++++++++++++++++++++
>  git-mergetool--lib.sh                |  10 +-
>  mergetools/vimdiff                   |  53 ++++++++
>  5 files changed, 268 insertions(+), 1 deletion(-)
>  create mode 100644 Documentation/mergetools/vimdiff.txt
> 
> diff --git a/Documentation/config/mergetool.txt b/Documentation/config/mergetool.txt
> index cafbbef46a..13f1b234db 100644
> --- a/Documentation/config/mergetool.txt
> +++ b/Documentation/config/mergetool.txt
> @@ -45,6 +45,15 @@ mergetool.meld.useAutoMerge::
>  	value of `false` avoids using `--auto-merge` altogether, and is the
>  	default value.
>  
> +mergetool.vimdiff.layout::
> +	The vimdiff backend uses this variable to control how its split
> +	windows look like. Applies even if you are using Neovim (`nvim`) or
> +	gVim (`gvim`) as the merge tool. See BACKEND SPECIFIC HINTS section
> +ifndef::git-mergetool[]
> +	(on linkgit:git-mergetool[1])

small nit: "in linkgit:git-mergetool[1]" would read slightly better I think,
but that may be just me... and I think I would drop the parentheses.

> +endif::[]
> +	for details.
> +

> diff --git a/git-mergetool--lib.sh b/git-mergetool--lib.sh
> index 542a6a75eb..9f99201bcc 100644
> --- a/git-mergetool--lib.sh
> +++ b/git-mergetool--lib.sh
> @@ -63,7 +63,7 @@ $(list_tool_variants)"
>  					preamble=
>  				fi
>  				shown_any=yes
> -				printf "%s%s\n" "$per_line_prefix" "$toolname"
> +				printf "%s%-15s  %s\n" "$per_line_prefix" "$toolname" $(diff_mode && diff_cmd_help "$toolname" || merge_cmd_help "$toolname")
>  			fi

I tried this and it looks much better on a single line, nice!

I also noticed that the list of available tools is embedded in 'git help config'
(see the rule for "mergetools-list.made" in Documentation/Makefile). I looked 
at the generated 'git-config.html' and it is not ideal; it would be better if 
the tool names would be enclosed in backticks. I tried the following tweak:

diff --git a/Documentation/Makefile b/Documentation/Makefile
index ed656db2ae..a2201680a2 100644
--- a/Documentation/Makefile
+++ b/Documentation/Makefile
@@ -333,10 +333,10 @@ mergetools-list.made: ../git-mergetool--lib.sh $(wildcard ../mergetools/*)
 	$(QUIET_GEN) \
 	$(SHELL_PATH) -c 'MERGE_TOOLS_DIR=../mergetools && \
 		. ../git-mergetool--lib.sh && \
-		show_tool_names can_diff "* " || :' >mergetools-diff.txt && \
+		show_tool_names can_diff "* " || :' | sed -e "s/* \([a-z0-9]*\)/* \`\1\`:/" >mergetools-diff.txt && \
 	$(SHELL_PATH) -c 'MERGE_TOOLS_DIR=../mergetools && \
 		. ../git-mergetool--lib.sh && \
-		show_tool_names can_merge "* " || :' >mergetools-merge.txt && \
+		show_tool_names can_merge "* " || :' | sed -e "s/* \([a-z0-9]*\)/* \`\1\`:/" >mergetools-merge.txt && \
 	date >$@
 
 TRACK_ASCIIDOCFLAGS = $(subst ','\'',$(ASCIIDOC_COMMON):$(ASCIIDOC_HTML):$(ASCIIDOC_DOCBOOK))


and it mostly works, though with the Asciidoc HTML backend, "emerge" is not correctly
formatted, I get:

‘emerge`: Use Emacs’ Emerge

and in the man page the backticks are kept litereally.It works correctly 
with Asciidoctor though, both in HTML and man page ...

  parent reply	other threads:[~2022-03-29 14:07 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-03-28 22:30 [PATCH v7 0/4] vimdiff: new implementation with layout support Fernando Ramos
2022-03-28 22:30 ` [PATCH v7 1/4] " Fernando Ramos
2022-03-28 22:30 ` [PATCH v7 2/4] vimdiff: integrate layout tests in the unit tests framework ('t' folder) Fernando Ramos
2022-03-28 22:30 ` [PATCH v7 3/4] vimdiff: add tool documentation Fernando Ramos
2022-03-28 22:39   ` Fernando Ramos
2022-03-29  1:01     ` Junio C Hamano
2022-03-29 12:54       ` [PATCH] fixup! " Philippe Blain
2022-03-29 16:03         ` Junio C Hamano
2022-03-29 14:07   ` Philippe Blain [this message]
2022-03-29 16:35     ` [PATCH v7 3/4] " Junio C Hamano
2022-03-29 17:08       ` Philippe Blain
2022-03-29 17:29   ` Philippe Blain
2022-03-28 22:30 ` [PATCH v7 4/4] vimdiff: add description to already existing diff/merge tools Fernando Ramos
2022-03-29 16:38   ` Junio C Hamano
2022-03-29 17:24     ` Philippe Blain
2022-03-29 18:50       ` Junio C Hamano
2022-03-29 22:39         ` Fernando Ramos
2022-03-29 14:10 ` [PATCH v7 0/4] vimdiff: new implementation with layout support Philippe Blain
2022-03-29 21:45   ` Fernando Ramos
2022-03-29 22:44 ` [PATCH v8 0/5] " Fernando Ramos
2022-03-29 22:44   ` [PATCH v8 1/5] " Fernando Ramos
2022-03-29 22:44   ` [PATCH v8 2/5] vimdiff: integrate layout tests in the unit tests framework ('t' folder) Fernando Ramos
2022-03-29 22:44   ` [PATCH v8 3/5] vimdiff: add tool documentation Fernando Ramos
2022-03-29 22:44   ` [PATCH v8 4/5] mergetools: add description to all diff/merge tools Fernando Ramos
2022-03-29 22:44   ` [PATCH v8 5/5] mergetools: add tools description to `git help config` Fernando Ramos
2022-03-30 12:43     ` Philippe Blain
2022-03-30 18:33       ` Fernando Ramos
2022-03-30 18:45         ` Philippe Blain
2022-03-30 19:19   ` [PATCH v9 0/4] vimdiff: new implementation with layout support Fernando Ramos
2022-03-30 19:19     ` [PATCH v9 1/4] " Fernando Ramos
2022-03-30 19:19     ` [PATCH v9 2/4] vimdiff: integrate layout tests in the unit tests framework ('t' folder) Fernando Ramos
2022-03-30 19:19     ` [PATCH v9 3/4] vimdiff: add tool documentation Fernando Ramos
2022-04-03 20:02       ` Philippe Blain
2022-04-03 22:44         ` Junio C Hamano
2022-04-04 20:00           ` Fernando Ramos
2022-04-04 21:38             ` Junio C Hamano
2022-03-30 19:19     ` [PATCH v9 4/4] mergetools: add description to all diff/merge tools Fernando Ramos

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=1bc25dd7-fca6-eab9-c850-3dc2b2dc9e8c@gmail.com \
    --to=levraiphilippeblain@gmail.com \
    --cc=bagasdotme@gmail.com \
    --cc=davvid@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=greenfoo@u92.eu \
    --cc=rogi@skylittlesystem.org \
    --cc=seth@eseth.com \
    --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.