source-highlight - Man Page

convert source code to syntax highlighted document


source-highlight [OPTIONS]... < INPUT_FILE > OUTPUT_FILE


GNU GNU source-highlight 3.1.9

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

source-highlight [OPTIONS]... -i INPUT_FILE -o OUTPUT_FILE source-highlight [OPTIONS]... [FILES]...

-h,  --help

Print help and exit


Print help, including all details and hidden options, and exit

-V,  --version

Print version and exit

-i,  --input=FILENAME

Input file (default=stdin)

-o,  --output=FILENAME

Output file (default=stdout, 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.


list all the supported language and associated language definition file


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)


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


specify the file containing format options (default=`')

--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')


output language definition file


output language map file (default=`')


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 directory


language definition file


language map file  (default=`')


prints the language elements that are defined

in the language definition file


force to infer source script language (overriding given language specification)


-n, --line-number[=PADDING]

number all output lines, using the specified padding character  (default=`0')


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


generate only the lines in the specified range(s)


the optional separator to be printed among ranges (e.g., "...")


number of (context) lines generated even if not in range

Mode: regexrange

specifying regular expression delimited ranges


generate only the lines within the specified regular expressions

reference generation


generate references  (possible values="inline", "postline", "postdoc" default=`inline')


specify the file generated by ctags that will be used to generate references (default=`tags')


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')


-v,  --verbose

verbose mode on

-q,  --quiet

print no progress information


write output files in binary mode


print some statistics (i.e., elapsed time)


put source-highlight version in the generated file  (default=on)


only check the correctness of a language definition file


only check the correctness of an output language definition file


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 the regular expression automaton corresponding to a language definition file

Maintained by Lorenzo Bettini <>

Reporting Bugs

Report bugs to <bug-source-highlight at>

See Also

The full documentation for Source-highlight is maintained as a Texinfo manual.  If the info and Source-highlight programs are properly installed at your site, the command

info Source-highlight

should give you access to the complete manual.


June 2019 Source-highlight 3.1.9 (library: 4:1:0)