GNU Source-highlight

This program, given a source file, produces a document with syntax
highlighting. It also provides a C++ highlight library.

Source-highlight reads source language specifications dynamically,
thus it can be easily extended (without recompiling the sources) for
handling new languages. It also reads output format specifications
dynamically, and thus it can be easily extended (without recompiling
the sources) for handling new output formats. The syntax for these
specifications is quite easy (take a look at the manual).

Source-highlight is a command line program, and it can also be used as
a CGI.

Notice that source-highlight can also be used as a formatter (i.e.,
without highlighting): you can, for instance, format a txt file in
HTML (and it will take care of translating special characters, such
as, <, >, &).

A common example:
  less /usr/src/linux/kernel/panic.c

to tune the less, add in your .bash_profile these lines:
  export LESSOPEN="| /usr/bin/src-hilite-lesspipe.sh %s"
  export LESS=' -R '