lix/doc/manual/rl-next/clicolor-clarity.md
Jade Lovelace 5f0ef50077 cli: eat terminal codes from stdout also
This *should* be sound, plus or minus the amount that the terminal code
eating code is messed up already.

This is useful for testing CLI output because it will strip the escapes
enough to just shove the expected output in a file.

Change-Id: I8a9b58fafb918466ac76e9ab585fc32fb9294819
2024-08-04 20:41:19 -07:00

769 B

synopsis cls credits category
Better usage of colour control environment variables
1699
1702
jade
Improvements

Lix now heeds NO_COLOR/NOCOLOR for more output types, such as that used in nix search, nix flake metadata and similar.

It also now supports CLICOLOR_FORCE/FORCE_COLOR to force colours regardless of whether there is a terminal on the other side.

It now follows rules compatible with those described on https://bixense.com/clicolors/ with CLICOLOR defaulted to enabled.

That is to say, the following procedure is followed in order:

  • NO_COLOR or NOCOLOR set

    Always disable colour

  • CLICOLOR_FORCE or FORCE_COLOR set

    Enable colour

  • The output is a tty; TERM != "dumb"

    Enable colour

  • Otherwise

    Disable colour