Highlight

highlight is a command line program for highlighting parts of a file matching
a regex.
For example, take a look at the following file:

highlight can be used to highlight the regex cat:

Uses
This package installs two binaries, highlight and hrep. The following
section explains the main uses of highlight and hrep.
highlight
highlight is used to highlight a given regex in a file, while printing out
all lines of the file.
The short example above show how to use highlight to highlight a regex in a
single file. It is also possible to use highlight on multiple files at once:

highlight will color and stripe the filenames to make it easier to see which
line came from which file. This also shows an example of the --ignore-case
option, which is similar to grep’s --ignore-case option.
highlight output from grep
highlight has a special option for highlighting output from grep:

This --from-grep option will color and stripe filenames, similar to the
previous example.
hrep
With the previous --from-grep option to highlight, one unfortunate point is
that the regex has to be specified twice, once to grep and once to
highlight.
The hrep command can solve this for us. It is just like the grep command,
but it will color and stripe filenames:

Installation
highlight and hrep can be installed with
stack:
$ stack install highlight
It should also be possible to use cabal to install this package.
Other ways to highlight parts of files
It is possible to highlight lines matching a given regex with grep two
different ways.
-
Use a special regex that will match any line, but only highlight the part
desired. It would look like this:
$ grep 'about|$' file-cats file-dogs file-goats
-
Give a large --context flag:
$ grep --context 9999 'about' file-cats file-dogs file-goats
However, neither of these will color and stripe filenames.
Contributions
Feel free to open an
issue or
PR for any
bugs/problems/suggestions/improvements.
Additional flags
highlight and hrep do not currently support all flags and options that
grep does. Ideally, highlight and hrep would be drop-in replacements for
grep, supporting all the same flags and options as grep.
If there is a flag or option you frequently use and want supported with
highlight or hrep, please feel free to open an issue or PR. Some
flags/options will be relatively easy to support, while some may require quite
a large amount of additional code.