.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 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. .El . .Ss Output Formats The default output format is .Cm ansi . .Bl -tag -width "html-document" .It Cm ansi ANSI terminal escape codes. .It Cm irc IRC formatting codes. .It Cm html HTML fragment. .It Cm html-document HTML document. .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 "make" .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