Printing Syntax Highlighted Source Code
Sometimes, reading code from paper can be easier than reading it from
the screen. However, if you printed it straight with the ‘lpr
’
command, you’ll lose all your syntax highlighting. There is a way of
solving this problem by using GNU ‘enscript
’.
For example, if you wanted to print syntax highlighted ruby code:
enscript --color=1 -Eruby your_source_code.rb
The ‘-E
’ flag tells enscript that the code is ruby, while ‘-color
’
is self-explanatory. If you wanted to find out what other syntax
highlightings are availabe, use this command:
enscript --help-highlight
However enscript
is more than just that. For example, if I wanted it
with line numbering, landscaped and in two-columned format (thus saving
space), I can do this:
enscript --color=1 -Eruby -c2 -C1 -r -j your_source_code.rb
where:
-c2
: 2 columns
-C1
: start line numbering from 1 onwards
-r
: print in landscape
-j
: print border around the columns
It can even generate syntax highlighted code in html, which makes it useful when you want to blog about source code:
enscript --color=1 -w html -Eruby your_source_code.rb
Its ‘man page
’ describes it as
“convert text files to PostScript, HTML, RTF, ANSI, and
overstrikes” probably doesn’t do it much justice, given that it’s
capable of doing much more; my examples have barely skimmed its surface,
so I highly recommend you read more into it to find out enscript
’s
full capabilities.