Metadata-Version: 2.1
Name: TxtStyle
Version: 1.1.2
Summary: Command-line tool for colorizing output of log files and console programs
Home-page: https://github.com/armandino/TxtStyle
Author: Arman Sharif
Author-email: armandino@gmail.com
License: LICENSE.txt
Project-URL: Bug Reports, https://github.com/armandino/TxtStyle/issues
Project-URL: Source, https://github.com/armandino/TxtStyle
Keywords: color log console text processing
Classifier: Development Status :: 5 - Production/Stable
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Topic :: Utilities
Requires-Python: >=3.2, <4
Description-Content-Type: text/markdown
License-File: LICENSE.txt

# TxtStyle

`TxtStyle` is a command line tool for colorizing output of console programs.
Its main goal is to assist humans in reading log files by highlighting text
in various colors using custom rules. Or it can simply be used
to make output of console programs prettier.

![TxtStyle](http://goo.gl/HcyUs)

## Requirements

* Latest version `1.1.2` requires Python 3.7+

## Install

### Using package installer

    pip install TxtStyle

### From sources

    git clone https://github.com/armandino/TxtStyle.git
    cd TxtStyle
    sudo python setup.py install

## Try it out

Color calendar

    cal 2012 | txts -n calendar

Color ifconfig output

    ifconfig | txts -n ifconfig

Apply 'example' style to `example.log`

    wget https://raw.githubusercontent.com/armandino/TxtStyle/master/example.log
    txts -n example example.log

## Define your own styles

`TxtStyle` reads styles from a config file under user's home directory:

    ~/.txts.conf

A default config is generated by the installer.
It contains some styles provided as an example.
To define your own, add styles to the config and reference them by name.

For example, to add "mystyle":

    [Style="mystyle"]
    blue: index(0-6)
    red: regex("foo")
    green bold: regex("bar")
    grey on-yellow: regex("baz")

`TxtStyle` works by styling lines of text using regular expressions
and/or string indexes. `index(0-6)` highlights a substring of a line
and `regex("pattern")` highlights text matching the pattern.

Save the conf file with "mystyle" and run `txts` with
the `-n` (or `--name`) option:

    echo "Styling foo, bar, and baz." | txts -n mystyle

`TxtStyle` configuration supports a small set of **named** color keys
(such as `red`, `blue`, `yellow`) and an extended set of **numeric** keys
(from `1` to `255`). To print available keys use the `-p` option:

    txts -p

## Other usage examples

Highlight text using the `-r` (or `--regex`) option. For example

    echo "A Foo and a Bar" | txts -r "Foo|Bar"

will color both Foo and Bar in red. If you use the `-r` option
multiple times, each of the specified regexps will have a different
color, as in:

    echo "A Foo and a Bar" | txts -r Foo -r Bar

`TxtStyle` does not apply styles if output is piped to another command.
To force color if the output is piped, use `--color-always` option:

    ps aux | txts -n ps --color-always | less -R

Print help

    txts -h

## ✨ Special thanks to contributors
- (Josef Moudrik)[https://github.com/jmoudrik]
- (Arjix)[https://github.com/ArjixWasTaken]
