source-highlight 

Highlight the syntax of a source file (e.g. Java) into a specific format (e.g. 
HTML)

Usage:  [OPTIONS]... < input_file > output_file
       source-highlight [OPTIONS]... -i input_file -o output_file
       source-highlight [OPTIONS]... [FILES]...

  -h, --help                    Print help and exit
      --detailed-help           Print help, including all details and hidden 
                                  options, and exit
  -V, --version                 Print version and exit
  -i, --input=filename          input file. default std input
  -o, --output=filename         output file. default std output (when the third 
                                  invocation form is used). If STDOUT is 
                                  specified, the output is directed to standard 
                                  output

you can simply specify some files at the command line and also use regular 
expressions (for instance *.java).  In this case the name for the output files 
will be formed using the name of the source file with a .<ext> appended, where 
<ext> is the extension chosen according to the output format specified (for 
instance .html).

  -s, --src-lang=STRING         source language (use --lang-list to get the 
                                  complete list).  If not specified, the source 
                                  language will be guessed from the file 
                                  extension.
      --lang-list               list all the supported language and associated 
                                  language definition file
      --outlang-list            list all the supported output language and 
                                  associated language definition file
  -f, --out-format=STRING       output format (use --outlang-list to get the 
                                  complete list)  (default=`html')
  -d, --doc                     create an output file that can be used as a 
                                  stand alone document (e.g., not to be 
                                  included in another one)
      --no-doc                  cancel the --doc option even if it is implied 
                                  (e.g., when css is given)
  -c, --css=filename            the external style sheet filename.  Implies 
                                  --doc
  -T, --title=STRING            give a title to the output document.  Implies 
                                  --doc
  -t, --tab=INT                 specify tab length.  (default=`8')
  -H, --header=filename         file to insert as header
  -F, --footer=filename         file to insert as footer
      --style-file=filename     specify the file containing format options  
                                  (default=`default.style')
      --style-css-file=filename specify the file containing format options (in 
                                  css syntax)
      --style-defaults=filename specify the file containing defaults for format 
                                  options  (default=`style.defaults')
      --outlang-def=filename    output language definition file
      --outlang-map=filename    output language map file  
                                  (default=`outlang.map')
      --data-dir=path           directory where language definition files and 
                                  language maps are searched for.  If not 
                                  specified these files are searched for in the 
                                  current directory and in the data dir 
                                  installation directory
      --output-dir=path         output directory
      --lang-def=filename       language definition file
      --lang-map=filename       language map file  (default=`lang.map')
      --show-lang-elements=filename
                                prints the language elements that are defined 
                                  in the language definition file
      --infer-lang              force to infer source script language 
                                  (overriding given language specification)

Lines:
  -n, --line-number[=padding]   number all output lines, using the specified 
                                  padding character  (default=`0')
      --line-number-ref[=prefix]
                                number all output lines and generate an anchor, 
                                  made of the specified prefix + the line 
                                  number  (default=`line')

Filtering output:

 Mode: linerange
  specifying line ranges
      --line-range=STRING       generate only the lines in the specified 
                                  range(s)
  each range can be of the shape: 
  	single line (e.g., --line-range=50)
  	full range (e.g., --line-range=2-10)
  	partial range (e.g., --line-range=-30, first 30 lines, 
  	--line-range=40- from line 40 to the end

      --range-separator=STRING  the optional separator to be printed among 
                                  ranges (e.g., "...")
      --range-context=INT       number of (context) lines generated even if not 
                                  in range
  The optional --range-context specifies the number of lines that are not in
  	range that will be printed anyway (before and after the lines in range);
  	These lines will be formatted according to the "context" style.


 Mode: regexrange
  specifying regular expression delimited ranges
      --regex-range=STRING      generate only the lines within the specified 
                                  regular expressions
  when a line containing the specified regular expression is found, then
  the lines after this one are actually generated, until another line, 
  containing the same regular expression is found (this last line is not 
  generated).
  More than one regular expression can be specified.

reference generation:
      --gen-references=STRING   generate references  (possible 
                                  values="inline", "postline", "postdoc" 
                                  default=`inline')
      --ctags-file=filename     specify the file generated by ctags that will 
                                  be used to generate references  
                                  (default=`tags')
      --ctags=cmd               how to run the ctags command.  If this option 
                                  is not specified, ctags will be executed with 
                                  the default value.  If it is specified with 
                                  an empty string, ctags will not be executed 
                                  at all  (default=`ctags --excmd=n 
                                  --tag-relative=yes')

testing:
  -v, --verbose                 verbose mode on
  -q, --quiet                   print no progress information
      --binary-output           write output files in binary mode
  This is useful for testing purposes, since you may want to make
  sure that output files are always generated with a final newline character 
  only
      --statistics              print some statistics (i.e., elapsed time)
      --gen-version             put source-highlight version in the generated 
                                  file  (default=on)
      --check-lang=filename     only check the correctness of a language 
                                  definition file
      --check-outlang=filename  only check the correctness of an output 
                                  language definition file
      --failsafe                if no language definition is found for the 
                                  input, it is simply copied to the output
  -g, --debug-langdef[=type]    debug a language definition.  In dump mode just 
                                  dumps all the steps; in interactive, at each 
                                  step, waits for some input (press ENTER to 
                                  step)  (possible values="interactive", 
                                  "dump" default=`dump')
      --show-regex=filename     show the regular expression automaton 
                                  corresponding to a language definition file
