3 ms·
If you're going to do this also provide a way to disable it so parsers don't trip up on its escape-coded output.
by esafak 8mo ago
If you're going to do this also provide a way to disable it so parsers don't trip up on its escape-coded output.
- klibertp 8mo agoAlso, disable the formatting if stdout is not a terminal. That way, your colors and cursor movements won't be visible when piping to another program, and your tool will be usable in apps that don't understand the CSI and chars that follow. Use a command-line switch with more than two states, e.g., `ls` (and probably other GNU tools) has `--color=always|auto|never` which covers most use cases. Also not mentioned in the article: there are a few syntaxes available for specifying things in control sequences, like \x1b[38;2;{r};{g};{b}m for specifying colors. There's a nice list here: https://gist.github.com/ConnerWill/d4b6c776b509add763e17f9f113fd25b https://gist.github.com/ConnerWill/d4b6c776b509add763e17f9f1... You can also cram as many control codes as you want into a control sequence, though it probably isn't useful in a modern context in 99.9% of cases.
- tom_ 8mo agoAlso good for people that have a light coloured terminal background.