Subject: Re: [PATCH v4] help: colorize man pages

From: Felipe Contreras <[email-masked]>
Date: Fri, 21 May 2021 16:40:30 -0500

Jeff King wrote:
> On Fri, May 21, 2021 at 01:01:35PM -0500, Felipe Contreras wrote:
> 
> > > I still don't understand what we gain by making this a Git feature,
> > 
> > What do we gain by making `git diff` output color?
> 
> Huh? Git is outputting the diff. Who else would output the color?

Do you think our users know or care which binary has the final
connection to the tty?

Many probably think git is sending the output to `diff --color -u`, and
it doesn't matter at all.

> > > Why would we do that versus saying: if you want to change the colors in
> > > the tool that Git calls, then configure the tool?
> > 
> > Once again... How?
> 
> By exporting the environment variables that ask it to do so, just like
> you showed already?

Exporting MANPAGER is not enough. That would only work on systems that
have SGR disabled.

The user would have to in addition export GROFF_NO_SGR=1, but that would
disble groff color for everything, which may not be what the user wants.

There is no MANGROFFNOSGR.

> > > If you like to see colors in manpages, why not configure "man" (either
> > > by setting these environment variables all the time, or by triggering
> > > them in MANPAGER)?
> > 
> > Let me try that...
> > 
> >   MANPAGER="less -Dd+r -Du+b -Ds+m" git help git
> > 
> > It doesn't work.
> 
>   ESC=$(printf '\33')
>   export MANCOLORS="LESS_TERMCAP_md=$ESC[31m LESS_TERMCAP_me=$ESC[0m"
>   export MANPAGER='sh -c "eval $MANCOLORS less"'
>   man ls
>   git help git

That still doesn't work here.

https://snipboard.io/GmhRtU.jpg

I see the default docbook colos generated by groff, but not the ones you
specified (both on `man` and `git help`).

I need to do this as well:

  export GROFF_NO_SGR=1

Your system probably has groff's SGR disabled in /usr/share/groff/site-tmac/man.local

It's not that simple.

There is in fact a way to configure man to do what we want here but if
*nobody* knows what that way is, then does it really matter?

Cheers.

-- 
Felipe Contreras