Skip to main content

Colorize your output using RegEx

Project description

ChromaTerm

PyPI version Build Status Coverage Status

ChromaTerm (ct) reads from standard input and colors it according to user-configurable rules.

Think of ChromaTerm like grep; just pipe data into it. However, unlike most programs which line-buffer, ct works with interactive applications, like ssh.

Here's an example using the rules in the default configuration file:

alt text

Installation

pip3 install chromaterm

If you have the legacy version of ChromaTerm, be sure to uninstall it first.

# If installed using HomeBrew
brew uninstall chromaterm

# If installed from source
git clone -b legacy git@github.com:hSaria/ChromaTerm.git
cd ChromaTerm/src/ && ./configure && make uninstall

Usage

By default, ChromaTerm reads .chromaterm.yml in your home directory. As an example, run the following:

echo "Jul 14 12:28:19  Message from 1.2.3.4: Completed successfully" | ct

The default config file is copied to your home directory if it's not there.

You may want to set up functions in your .bash_profile to always color a command like ssh() { /usr/bin/ssh "$@" | ct; }.

Highlight Rules

All of the highlight rules are placed under the rules array in the configuration file. Here's an example config file:

rules:
- description: My first rule colors the foreground
  regex: hello.+world
  color: f#ff0000

- description: Color the foreground and background for "there" and make it bold. Paint "buddy" red.
  regex: Hey (there), (buddy)
  color:
    1: b#abcabc f#123123 bold
    2: b#ff0000

Description

Optional. It's purely for your sake.

RegEx

The RegEx engine used is Python's re.

Color

Background and Foreground

The color is a hex string prefixed by b for background (e.g. b#123456) and f for foreground (e.g. f#abcdef).

Style

In addition to the foreground and background, the following styles are supported, though some terminals ignore them:

  • Blink
  • Bold
  • Italic
  • Strike
  • Underline

Group-Specific

A color can be applied per RegEx group (see the 2nd example rule). Any group can be referenced as long as it's in the RegEx.

Help

If you've got any questions or suggestions, please open up an issue (always appreciated).

There is no planned support for Windows due to the lack in standards support.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

chromaterm-0.4.5.tar.gz (18.4 kB view hashes)

Uploaded Source

Built Distribution

chromaterm-0.4.5-py3-none-any.whl (19.1 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page