.Dd February 7, 2019 .Dt HI 1 .Os . .Sh NAME .Nm hi .Nd syntax highlighter . .Sh SYNOPSIS .Nm .Op Fl f Ar format .Op Fl l Ar lang .Op Fl n Ar name .Op Fl o Ar opts .Op Ar file .Nm .Fl c . .Sh DESCRIPTION .Nm highlights the contents of a .Ar file or standard input and formats it on standard output. A maximum of 32K is read from standard input. . .Pp The arguments are as follows: .Bl -tag -width "-f format" .It Fl c Compile all regular expressions and exit. .It Fl f Ar format Set the output format. .It Fl l Ar lang Set the input language. .It Fl n Ar name Override the name used to infer the input language. .It Fl o Ar opts Set output format options. .Ar opts is a comma-separated list of options. .El . .Ss Output Formats The default output format is .Cm ansi . . .Bl -tag -width Ds .It Cm ansi Output ANSI terminal escape codes. . .It Cm irc Output IRC formatting codes. .Pp The options are as follows: .Bl -tag -width "monospace" .It Cm monospace Use the monospace formatting code introduced by IRCCloud. .El . .It Cm html Output HTML .Sy
with
.Sy 
classes.
.Pp
The options are as follows:
.Bl -tag -width "title=..."
.It Cm document
Output an HTML document
with inline CSS.
.It Cm title Ns = Ns Ar ...
Set the title of the HTML document.
The default title is the
.Ar file
name.
.El
.El
.
.Ss Input Languages
If no input language is set with
.Fl l ,
it may be inferred from the name set by
.Fl n
or from the provided
.Ar file
name.
.
.Bl -tag -width Ds
.It Cm c
The C11 language.
.
.It Cm make
The portable subset of
.Xr make 1 .
Variable substitution supports
one level of nesting with the same delimiter.
.
.It Cm mdoc
The
.Xr mdoc 7
language.
.
.It Cm sh
The POSIX
.Xr sh 1
language.
Here-documents are correctly highlighted
only with a delimiter of
.Ql EOF .
Arbitrarily nested strings and command substitutions
are not highlighted correctly.
.El