Give some color to your (remote) TTY!!
VERSION | DOWNLOADS | TESTS | COVERAGE | WHEEL |
---|---|---|---|---|
And it is free. Checkout the Source code.
Two options: to install it in your system/project:
pip install colorize
And you can use it with:
python -m colorize -h
Now, you have two ways to use it:
Just execute:
$ command to execute | python -m colorize
If you need to render both the stdout and the stderr:
$ command to execute |& python -m colorize
This method works well with too long outputs
Other way to use it:
$ python -m colorize command to execute
This method can do disgusting things with too long outputs.
You can change the output format with the argument -f
or --format
. It uses the same format that logging
, so you can use any of its special variables, like:
%(asctime)s
, to show the time.%(message)s
, to show the message itself.%(msecs)d
, to show the relative time.- Any other output format allowed by logging.
You can combine them as you wish. Example:
$ python -m colorize -- echo foo foo $ python -m colorize -f "%(asctime)s - %(levelname).2s: %(message)s" -- echo foo 05-29 08:43:09 - IN: foo $ python -m colorize -f "%(levelname).2s %(asctime)s - %(message)s" -- echo foo IN 05-29 08:44:17 - foo
Default date format is %m-%d %H:%M:%S
, but you can change it with --date-format
:
$ python -m colorize -f "%(asctime)s" --date-format="%H:%M:%S" -- echo foo 08:44:17 $ python -m colorize -f "%(asctime)s" --date-format="%H %M %S" -- echo foo 08 44 17
It will find a configuration file in the current directory, in the home directory or in the default path directory. The first one found will be used. So, it will search for:
./.colorize.conf
$HOME/.configuration/colorize/colorize.conf
/etc/colorize/colorize.conf
The format for this file is very easy: it is a CSV file with next fields:
# regular expression to highlight (quoted) , bold output , foreground color , background color "^=+$" , 1 , white , "^=+$" , true , white , black "^=+$" , 0 , red , white "^=+$" , false , brown , magenta
For example, you can configure it to colorize the go test output:
"^PASS", 1, white, green "^ok", 1, white, green "^FAIL", 1, white, red "^--- FAIL:", 1, white, red
Available colors:
black
white
red
green
blue
brown
gray
magenta
cyan
And that's all.
To emulate colordiff, just use this configuration file:
"^>.*", 0, blue "^<.*", 0, red "^\d+,?\d*c\d+,?\d*$", 0, magenta
That's enough :D