# Shellcolor Looking up ANSI color codes is difficult and time consuming - realistically, who knows what `"\033[31;1;4mHello\033[0m"` means off the top of their head1? `shellcolor` provides an easy way of styling text in CLI scripts. It uses memorable flags like `--bg` and `--bold` to provide style to text. ## Getting the ASCII output If you need to see the ASCII output for compatibility with another program, you can pipe it into another file, and copy it from there. ```shell shellcolor --bg red hello > hi.txt ``` ## Experimental format support While applying styles to text is great, it would be better to be able to interleave styles throughout the text. If we attempt to style a single string in multiple ways, we'd get some ugly text like this ```shell echo "$(shellcolor --bg black --fg red "hello there,") $(shellcolor --fg green --bold "General") $(shellcolor --fg bright_white --underline Kenobi)" ``` In an effort to make it more approachable, there is a flag called `--format` which will allow for a BBCode-like syntax. It's currently pretty primitive (as in, doesn't handle nesting well), but something like this will get you close without requiring a series of subshells. ```shell shellcolor --format "[color=red]Hello there,[/color] [bold]General[/bold]" ```` ## Man page ```text Translates CSS colors to ANSI escape sequences USAGE: shellcolor [OPTIONS] ARGS: The text to display OPTIONS: --bg Set background color (e.g., red, green, blue, or 0-255 for 256-color mode) --blink Set text to blink --bold Set text to bold --fg Set foreground (text) color (e.g., red, green, blue, or 0-255 for 256-color mode) --format Formats the text with a BBCode-like syntax. For example, "Hello [color=red]World[/color]! This is a [bold]Bold[/bold] text." -h, --help Print help information --hidden Hide text (but it can be selected/copied) --reverse Reverse background and foreground colors --underline Set text to underline -V, --version Print version information ``` --- 1: It is the string "Hello", with red text, bolded, and underlined.