NAME

App::highlight - simple grep-like highlighter app

VERSION

version 0.06

SYNOPSIS

highlight is similar to grep, except that instead of removing non-matched lines it simply highlights words or lines which are matched.

% cat words.txt
foo
bar
baz
qux
quux
corge

% cat words.txt | grep ba
bar
baz

% cat words.txt | highlight ba
foo
<<ba>>r
<<ba>>z
qux
quux
corge

If you give multiple match parameters highlight will highlight each of them in a different color.

% cat words.txt | highlight ba qu
foo
<<ba>>r
<<ba>>z
[[qu]]x
[[qu]]ux
corge

Color Support

If you have Term::ANSIColor installed then the strings will be highlighted using terminal colors rather than using brackets.

Installing color support by installing Term::ANSIColor is highly reccommended.

OPTIONS

color / c

This is the default if Term::ANSIColor is installed.

App::highlight will cycle through the colours:

red green yellow blue magenta cyan

If you do not have Term::ANSIColor installed and you specify --color or you do not specify --no-color then you will receive a warning.

no-color

This is the default if Term::ANSIColor is not installed.

App::highlight will cycle through the brackets:

<<match>> [[match]] ((match))  {{match}} **match** __match__

The examples in the rest of this document use this mode because showing color highlighting in POD documentation is not possible.

escape / e

This is the default and means that the strings passed in will be escaped so that no special characters exist.

% cat words.txt | highlight --escape 'ba' '[qux]'
foo
<<ba>>r
<<ba>>z
qux
quux
<<c>>org<<e>>

noescape / no-escape / n / regex / r

This allows you to specify a regular expression instead of a simple string.

% cat words.txt | highlight --no-escape 'ba' '[qux]'
foo
<<ba>>r
<<ba>>z
[[q]][[u]][[x]]
[[q]][[u]][[u]][[x]]
corge

full-line / l

This makes highlight always highlight full lines of input, even when the full line is not matched.

% cat words.txt | highlight --full-line u
foo
bar
baz
<<qux>>
<<quux>>
corge

Note this is similar to '--no-escape "^.*match.*$"' but probably much more efficient.

one-color / o

Rather than cycling through multiple colors, this makes highlight always use the same color for all highlights.

Despite the name "one-color" this interacts with the --no-color option as you would expect.

% cat words.txt | highlight --one-color ba qu
foo
<<ba>>r
<<ba>>z
<<qu>>x
<<qu>>ux
corge

help / h

Show a brief help message

% highlight --help

Copyright

Copyright (C) 2010 Alex Balhatchet

Author

Alex Balhatchet (kaoru@slackwise.net)