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 '
