1syntax roff
2
3state line-start
4    char -b '.' request
5    char "\n" this
6    noeat text
7
8# TODO: Highlight .TH request in bold
9# TODO: Highlight "quoted strings" in request arguments
10state request
11    char -b a-zA-Z this
12    inlist section section
13    noeat text
14
15state escape-start escape
16    char -b '"#' comment
17    char -b f font-selection
18    char -b ( 2char-escape
19    char " \\.%!|^&)/~:{}acdeEprtu-" text escape
20    eat text error
21
22state 2char-escape escape
23    char -b "A-Za-z0-9_<>=!?$%*|/'\":^,~.`+-" 2char-escape-2
24    recolor error
25    char "\n" line-start
26    eat text error
27
28state 2char-escape-2 escape
29    char "A-Za-z0-9_<>=!?$%*|/'\":^,~.`+-" text escape
30    recolor error
31    char "\n" line-start
32    eat text error
33
34state font-selection escape
35    char -b RBI text escape
36    noeat text
37
38state text
39    char -b '\\' escape-start
40    char "\n" line-start
41    eat this
42
43state comment
44    recolor comment
45    char "\n" line-start
46    eat this
47
48state section
49    char "\n" line-start
50    eat this
51
52list section .SH .SS
53
54default special escape
55default string request
56default keyword section
57