Pipe command output
Highlight stdout and stderr together while preserving every original byte.
go test ./... 2>&1 | hilighter
v1.0.0 · built in Go
Add useful ANSI color to logs, test output, and plain text without changing the way Unix pipelines work.
go install github.com/erniebrodeur/hilighter/cmd/hilighter@latest
$ deploy --env production | hilighter
INFO service started
DEBUG listening on 10.0.4.12:8080
NOTICE connected to ops@example.com
WARN cache response took 843ms
ERROR upstream unavailable
stream continues...
01 / Quickstart
Put it where text already flows. There is no daemon, pager, command runner, or hidden terminal detection.
Highlight stdout and stderr together while preserving every original byte.
go test ./... 2>&1 | hilighter
Process multiple files in order, with highlighting state reset at every boundary.
hilighter app.log archive.logRepeated -e flags replace configured rules and run in declaration order.
build | hilighter -e '(?i)failed'Useful by default
URLs, IPv4, IPv6, and MAC addresses.
ISO 8601 and classic syslog timestamps.
Practical email matching without bare-domain noise.
Trace through fatal, styled by meaning.
02 / Themes
Every theme ships inside the binary and uses truecolor output. Select one with -t or save its slug in ~/.hilighter/config.yaml.
abyssdark-2026dark-moderndark-plushigh-contrastkimbie-darkmonokaimonokai-dimmedredsolarized-darktomorrow-night-bluevisual-studio-darksome-command | hilighter -t solarized-dark03 / Customize
First run creates a small customization directory. Empty rules use the shipped defaults, while non-empty rules replace them. Custom themes overlay Monokai, so they only need to define the styles they change.
rules:
- name: failure
pattern: '(?i)failed'
style: error
- name: request
pattern: '(GET|POST)\s+(\S+)'
groups:
"1": info
"2": endpoint
styles:
error:
fg: '#f8f8f2'
bg: '#f92672'
bold: true
endpoint:
fg: '#66d9ef'
bold: true
04 / Reference
hilighter [-e <pattern> ...] [-t <theme>] [--] [file ...]-e <pattern>-t <theme>-----help--versionhilighter-1.0.0.Plays well downstream
Existing ANSI sequences pass through untouched. Use less -R to keep colors while paging. Broken pipes stop quietly without hiding other output errors.
some-command 2>&1 | hilighter | less -RLess noise. Same workflow.