git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH] help: colorize man pages

From
Felipe Contreras <felipe.contreras@gmail.com>
Date
May 18, 2021, 03:22 UTC
Message-ID
<60a332fd22dad_14c8d4208ed@natae.notmuch>
In-Reply-To
<YKMWL0iZLVl1KTrB@camp.crustytoothpaste.net>
brian m. carlson wrote:
Show 20 quoted lines
> On 2021-05-18 at 01:01:21, Felipe Contreras wrote:
> > Our man pages don't contain many useful colors (just blue links),
> > moreover, many people have groff SGR disabled, so they don't see any
> > colors with man pages.
> > 
> > We can set LESS_TERMCAP variables to render bold and underlined text
> > with colors in the pager; a common trick[1].
> > 
> > Bold is rendered as red, underlined as blue, and standout (messages and
> > highlighted search) as inverse magenta.
> > 
> > This only works when the pager is less, and the color.pager
> > configuration is enabled, as well as color.ui.
> 
> I think we should let the user decide whether they want to set this
> feature themselves instead of setting it for them.  For example, I have
> specific colors set up with these environment variables, and I'd like
> Git to honor them without having to configure Git independently of less.
> I expect other users will expect Git's rendering of the manual pages to
> work like other instances of man(1) on their system as well.
It does respect them.

This would render the man page with the color specified in the environment, not the default of git.

  LESS_TERMCAP_md=$'\e[1;33m' LESS_TERMCAP_me=$'\e[m' git help git
> Additionally, using colors poses accessibility problems.  I know someone
> who, due to his colorblindness, finds terminal colors distracting and
> hard to read, and prefers not to use them at all.
  git -c color.ui=never help git
> Even users who want to use them might find some colors to be too
> similar, and this patch doesn't permit them to be configured.
Yes it does:
  LESS_TERMCAP_md=$'\e[01;38;5;33m' git help git
Show 5 quoted lines
> In my particular case, despite having normal color vision, because I use
> a transparent terminal which often results in a grey background, I find
> the standard terminal red to be difficult to read, and so this patch
> would result in a significant decrease in the readability of the manual
> pages for me.
If you have LESS_TERMCAP_md set in your environment, it won't.
-- 
Felipe Contreras
Previous: brian m. carlsonNext: brian m. carlson
Message 3 of 33 in “help: colorize man pages”
  1. help: colorize man pagesFelipe Contreras, May 18, 2021
  2. brian m. carlsonMay 18, 2021
  3. Felipe ContrerasMay 18, 2021
  4. brian m. carlsonMay 18, 2021
  5. Junio C HamanoMay 19, 2021
  6. brian m. carlsonMay 19, 2021
  7. Junio C HamanoMay 19, 2021
  8. Ævar Arnfjörð BjarmasonMay 19, 2021
  9. Felipe ContrerasMay 19, 2021
  10. brian m. carlsonMay 21, 2021
  11. Felipe ContrerasMay 21, 2021
  12. Igor DjordjevicMay 21, 2021
  13. Felipe ContrerasMay 21, 2021
  14. Igor DjordjevicMay 21, 2021
  15. Felipe ContrerasMay 21, 2021
  16. Igor DjordjevicMay 22, 2021
  17. Felipe ContrerasMay 22, 2021
  18. Igor DjordjevicMay 23, 2021
  19. Felipe ContrerasMay 23, 2021
  20. Igor DjordjevicMay 21, 2021
  21. Junio C HamanoMay 21, 2021
  22. Ævar Arnfjörð BjarmasonMay 19, 2021
  23. Jeff KingMay 19, 2021
  24. Felipe ContrerasMay 19, 2021
  25. Felipe ContrerasMay 19, 2021
  26. Felipe ContrerasMay 19, 2021
  27. brian m. carlsonMay 20, 2021
  28. Junio C HamanoMay 20, 2021
  29. Felipe ContrerasMay 20, 2021
  30. Junio C HamanoMay 20, 2021
  31. Felipe ContrerasMay 20, 2021
  32. Felipe ContrerasMay 20, 2021
  33. Felipe ContrerasMay 19, 2021

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.