Mercurial > vim
annotate runtime/syntax/nroff.vim @ 10048:43efa4f5a8ea
commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Author: Bram Moolenaar <Bram@vim.org>
Date: Tue Aug 30 23:26:57 2016 +0200
Updated runtime files. Remove version checks for Vim older than 6.0.
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Tue, 30 Aug 2016 23:30:09 +0200 |
parents | b7811ab264bf |
children | 46763b01cd9a |
rev | line source |
---|---|
7 | 1 " VIM syntax file |
2 " Language: nroff/groff | |
3312 | 3 " Maintainer: Pedro Alejandro López-Valencia <palopezv@gmail.com> |
4 " URL: http://vorbote.wordpress.com/ | |
5 " Last Change: 2012 Feb 2 | |
7 | 6 " |
7 " {{{1 Acknowledgements | |
8 " | |
9 " ACKNOWLEDGEMENTS: | |
10 " | |
11 " My thanks to Jérôme Plût <Jerome.Plut@ens.fr>, who was the | |
12 " creator and maintainer of this syntax file for several years. | |
13 " May I be as good at it as he has been. | |
14 " | |
15 " {{{1 Todo | |
16 " | |
17 " TODO: | |
18 " | |
19 " * Write syntax highlighting files for the preprocessors, | |
20 " and integrate with nroff.vim. | |
21 " | |
22 " | |
23 " {{{1 Start syntax highlighting. | |
24 " | |
10048
43efa4f5a8ea
commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents:
3312
diff
changeset
|
25 " quit when a syntax file was already loaded |
7 | 26 " |
10048
43efa4f5a8ea
commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents:
3312
diff
changeset
|
27 if exists("b:current_syntax") |
7 | 28 finish |
29 endif | |
30 | |
3312 | 31 let s:cpo_save = &cpo |
32 set cpo&vim | |
33 | |
7 | 34 " |
35 " {{{1 plugin settings... | |
36 " | |
37 " {{{2 enable spacing error highlighting | |
38 " | |
39 if exists("nroff_space_errors") | |
40 syn match nroffError /\s\+$/ | |
41 syn match nroffSpaceError /[.,:;!?]\s\{2,}/ | |
42 endif | |
43 " | |
44 " | |
45 " {{{1 Special file settings | |
46 " | |
47 " {{{2 ms exdented paragraphs are not in the default paragraphs list. | |
48 " | |
49 setlocal paragraphs+=XP | |
50 " | |
51 " {{{2 Activate navigation to preporcessor sections. | |
52 " | |
53 if exists("b:preprocs_as_sections") | |
54 setlocal sections=EQTSPS[\ G1GS | |
55 endif | |
56 | |
57 " {{{1 Escape sequences | |
58 " ------------------------------------------------------------ | |
59 | |
60 syn match nroffEscChar /\\[CN]/ nextgroup=nroffEscCharArg | |
61 syn match nroffEscape /\\[*fgmnYV]/ nextgroup=nroffEscRegPar,nroffEscRegArg | |
62 syn match nroffEscape /\\s[+-]\=/ nextgroup=nroffSize | |
63 syn match nroffEscape /\\[$AbDhlLRvxXZ]/ nextgroup=nroffEscPar,nroffEscArg | |
64 | |
65 syn match nroffEscRegArg /./ contained | |
66 syn match nroffEscRegArg2 /../ contained | |
67 syn match nroffEscRegPar /(/ contained nextgroup=nroffEscRegArg2 | |
68 syn match nroffEscArg /./ contained | |
69 syn match nroffEscArg2 /../ contained | |
70 syn match nroffEscPar /(/ contained nextgroup=nroffEscArg2 | |
71 syn match nroffSize /\((\d\)\=\d/ contained | |
72 | |
73 syn region nroffEscCharArg start=/'/ end=/'/ contained | |
74 syn region nroffEscArg start=/'/ end=/'/ contained contains=nroffEscape,@nroffSpecial | |
75 | |
76 if exists("b:nroff_is_groff") | |
77 syn region nroffEscRegArg matchgroup=nroffEscape start=/\[/ end=/\]/ contained oneline | |
78 syn region nroffSize matchgroup=nroffEscape start=/\[/ end=/\]/ contained | |
79 endif | |
80 | |
81 syn match nroffEscape /\\[adprtu{}]/ | |
82 syn match nroffEscape /\\$/ | |
83 syn match nroffEscape /\\\$[@*]/ | |
84 | |
85 " {{{1 Strings and special characters | |
86 " ------------------------------------------------------------ | |
87 | |
88 syn match nroffSpecialChar /\\[\\eE?!-]/ | |
89 syn match nroffSpace "\\[&%~|^0)/,]" | |
90 syn match nroffSpecialChar /\\(../ | |
91 | |
92 if exists("b:nroff_is_groff") | |
93 syn match nroffSpecialChar /\\\[[^]]*]/ | |
94 syn region nroffPreserve matchgroup=nroffSpecialChar start=/\\?/ end=/\\?/ oneline | |
95 endif | |
96 | |
97 syn region nroffPreserve matchgroup=nroffSpecialChar start=/\\!/ end=/$/ oneline | |
98 | |
99 syn cluster nroffSpecial contains=nroffSpecialChar,nroffSpace | |
100 | |
101 | |
102 syn region nroffString start=/"/ end=/"/ skip=/\\$/ contains=nroffEscape,@nroffSpecial contained | |
103 syn region nroffString start=/'/ end=/'/ skip=/\\$/ contains=nroffEscape,@nroffSpecial contained | |
104 | |
105 | |
106 " {{{1 Numbers and units | |
107 " ------------------------------------------------------------ | |
108 syn match nroffNumBlock /[0-9.]\a\=/ contained contains=nroffNumber | |
109 syn match nroffNumber /\d\+\(\.\d*\)\=/ contained nextgroup=nroffUnit,nroffBadChar | |
110 syn match nroffNumber /\.\d\+)/ contained nextgroup=nroffUnit,nroffBadChar | |
111 syn match nroffBadChar /./ contained | |
112 syn match nroffUnit /[icpPszmnvMu]/ contained | |
113 | |
114 | |
115 " {{{1 Requests | |
116 " ------------------------------------------------------------ | |
117 | |
118 " Requests begin with . or ' at the beginning of a line, or | |
119 " after .if or .ie. | |
120 | |
121 syn match nroffReqLeader /^[.']/ nextgroup=nroffReqName skipwhite | |
122 syn match nroffReqLeader /[.']/ contained nextgroup=nroffReqName skipwhite | |
123 | |
124 if exists("b:nroff_is_groff") | |
125 " | |
126 " GNU troff allows long request names | |
127 " | |
829 | 128 syn match nroffReqName /[^\t \\\[?]\+/ contained nextgroup=nroffReqArg |
7 | 129 else |
130 syn match nroffReqName /[^\t \\\[?]\{1,2}/ contained nextgroup=nroffReqArg | |
131 endif | |
132 | |
829 | 133 syn region nroffReqArg start=/\S/ skip=/\\$/ end=/$/ contained contains=nroffEscape,@nroffSpecial,nroffString,nroffError,nroffSpaceError,nroffNumBlock,nroffComment |
7 | 134 |
135 " {{{2 Conditional: .if .ie .el | |
136 syn match nroffReqName /\(if\|ie\)/ contained nextgroup=nroffCond skipwhite | |
137 syn match nroffReqName /el/ contained nextgroup=nroffReqLeader skipwhite | |
138 syn match nroffCond /\S\+/ contained nextgroup=nroffReqLeader skipwhite | |
139 | |
140 " {{{2 String definition: .ds .as | |
141 syn match nroffReqname /[da]s/ contained nextgroup=nroffDefIdent skipwhite | |
142 syn match nroffDefIdent /\S\+/ contained nextgroup=nroffDefinition skipwhite | |
143 syn region nroffDefinition matchgroup=nroffSpecialChar start=/"/ matchgroup=NONE end=/\\"/me=e-2 skip=/\\$/ start=/\S/ end=/$/ contained contains=nroffDefSpecial | |
144 syn match nroffDefSpecial /\\$/ contained | |
145 syn match nroffDefSpecial /\\\((.\)\=./ contained | |
146 | |
147 if exists("b:nroff_is_groff") | |
148 syn match nroffDefSpecial /\\\[[^]]*]/ contained | |
149 endif | |
150 | |
151 " {{{2 Macro definition: .de .am, also diversion: .di | |
152 syn match nroffReqName /\(d[ei]\|am\)/ contained nextgroup=nroffIdent skipwhite | |
153 syn match nroffIdent /[^[?( \t]\+/ contained | |
154 if exists("b:nroff_is_groff") | |
155 syn match nroffReqName /als/ contained nextgroup=nroffIdent skipwhite | |
156 endif | |
157 | |
158 " {{{2 Register definition: .rn .rr | |
159 syn match nroffReqName /[rn]r/ contained nextgroup=nroffIdent skipwhite | |
160 if exists("b:nroff_is_groff") | |
161 syn match nroffReqName /\(rnn\|aln\)/ contained nextgroup=nroffIdent skipwhite | |
162 endif | |
163 | |
164 | |
165 " {{{1 eqn/tbl/pic | |
166 " ------------------------------------------------------------ | |
167 " <jp> | |
168 " XXX: write proper syntax highlight for eqn / tbl / pic ? | |
169 " <jp /> | |
170 | |
171 syn region nroffEquation start=/^\.\s*EQ\>/ end=/^\.\s*EN\>/ | |
172 syn region nroffTable start=/^\.\s*TS\>/ end=/^\.\s*TE\>/ | |
173 syn region nroffPicture start=/^\.\s*PS\>/ end=/^\.\s*PE\>/ | |
174 syn region nroffRefer start=/^\.\s*\[\>/ end=/^\.\s*\]\>/ | |
175 syn region nroffGrap start=/^\.\s*G1\>/ end=/^\.\s*G2\>/ | |
176 syn region nroffGremlin start=/^\.\s*GS\>/ end=/^\.\s*GE|GF\>/ | |
177 | |
178 " {{{1 Comments | |
179 " ------------------------------------------------------------ | |
180 | |
181 syn region nroffIgnore start=/^[.']\s*ig/ end=/^['.]\s*\./ | |
182 syn match nroffComment /\(^[.']\s*\)\=\\".*/ contains=nroffTodo | |
183 syn match nroffComment /^'''.*/ contains=nroffTodo | |
184 | |
185 if exists("b:nroff_is_groff") | |
186 syn match nroffComment "\\#.*$" contains=nroffTodo | |
187 endif | |
188 | |
189 syn keyword nroffTodo TODO XXX FIXME contained | |
190 | |
191 " {{{1 Hilighting | |
192 " ------------------------------------------------------------ | |
193 " | |
194 | |
195 " | |
196 " Define the default highlighting. | |
10048
43efa4f5a8ea
commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents:
3312
diff
changeset
|
197 " Only when an item doesn't have highlighting yet |
7 | 198 " |
10048
43efa4f5a8ea
commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents:
3312
diff
changeset
|
199 command -nargs=+ HiLink hi def link <args> |
7 | 200 |
10048
43efa4f5a8ea
commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents:
3312
diff
changeset
|
201 HiLink nroffEscChar nroffSpecialChar |
43efa4f5a8ea
commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents:
3312
diff
changeset
|
202 HiLink nroffEscCharAr nroffSpecialChar |
43efa4f5a8ea
commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents:
3312
diff
changeset
|
203 HiLink nroffSpecialChar SpecialChar |
43efa4f5a8ea
commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents:
3312
diff
changeset
|
204 HiLink nroffSpace Delimiter |
43efa4f5a8ea
commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents:
3312
diff
changeset
|
205 |
43efa4f5a8ea
commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents:
3312
diff
changeset
|
206 HiLink nroffEscRegArg2 nroffEscRegArg |
43efa4f5a8ea
commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents:
3312
diff
changeset
|
207 HiLink nroffEscRegArg nroffIdent |
7 | 208 |
10048
43efa4f5a8ea
commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents:
3312
diff
changeset
|
209 HiLink nroffEscArg2 nroffEscArg |
43efa4f5a8ea
commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents:
3312
diff
changeset
|
210 HiLink nroffEscPar nroffEscape |
7 | 211 |
10048
43efa4f5a8ea
commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents:
3312
diff
changeset
|
212 HiLink nroffEscRegPar nroffEscape |
43efa4f5a8ea
commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents:
3312
diff
changeset
|
213 HiLink nroffEscArg nroffEscape |
43efa4f5a8ea
commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents:
3312
diff
changeset
|
214 HiLink nroffSize nroffEscape |
43efa4f5a8ea
commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents:
3312
diff
changeset
|
215 HiLink nroffEscape Preproc |
7 | 216 |
10048
43efa4f5a8ea
commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents:
3312
diff
changeset
|
217 HiLink nroffIgnore Comment |
43efa4f5a8ea
commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents:
3312
diff
changeset
|
218 HiLink nroffComment Comment |
43efa4f5a8ea
commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents:
3312
diff
changeset
|
219 HiLink nroffTodo Todo |
7 | 220 |
10048
43efa4f5a8ea
commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents:
3312
diff
changeset
|
221 HiLink nroffReqLeader nroffRequest |
43efa4f5a8ea
commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents:
3312
diff
changeset
|
222 HiLink nroffReqName nroffRequest |
43efa4f5a8ea
commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents:
3312
diff
changeset
|
223 HiLink nroffRequest Statement |
43efa4f5a8ea
commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents:
3312
diff
changeset
|
224 HiLink nroffCond PreCondit |
43efa4f5a8ea
commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents:
3312
diff
changeset
|
225 HiLink nroffDefIdent nroffIdent |
43efa4f5a8ea
commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents:
3312
diff
changeset
|
226 HiLink nroffIdent Identifier |
7 | 227 |
10048
43efa4f5a8ea
commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents:
3312
diff
changeset
|
228 HiLink nroffEquation PreProc |
43efa4f5a8ea
commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents:
3312
diff
changeset
|
229 HiLink nroffTable PreProc |
43efa4f5a8ea
commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents:
3312
diff
changeset
|
230 HiLink nroffPicture PreProc |
43efa4f5a8ea
commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents:
3312
diff
changeset
|
231 HiLink nroffRefer PreProc |
43efa4f5a8ea
commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents:
3312
diff
changeset
|
232 HiLink nroffGrap PreProc |
43efa4f5a8ea
commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents:
3312
diff
changeset
|
233 HiLink nroffGremlin PreProc |
7 | 234 |
10048
43efa4f5a8ea
commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents:
3312
diff
changeset
|
235 HiLink nroffNumber Number |
43efa4f5a8ea
commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents:
3312
diff
changeset
|
236 HiLink nroffBadChar nroffError |
43efa4f5a8ea
commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents:
3312
diff
changeset
|
237 HiLink nroffSpaceError nroffError |
43efa4f5a8ea
commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents:
3312
diff
changeset
|
238 HiLink nroffError Error |
7 | 239 |
10048
43efa4f5a8ea
commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents:
3312
diff
changeset
|
240 HiLink nroffPreserve String |
43efa4f5a8ea
commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents:
3312
diff
changeset
|
241 HiLink nroffString String |
43efa4f5a8ea
commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents:
3312
diff
changeset
|
242 HiLink nroffDefinition String |
43efa4f5a8ea
commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents:
3312
diff
changeset
|
243 HiLink nroffDefSpecial Special |
7 | 244 |
10048
43efa4f5a8ea
commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents:
3312
diff
changeset
|
245 delcommand HiLink |
7 | 246 |
247 let b:current_syntax = "nroff" | |
248 | |
3312 | 249 let &cpo = s:cpo_save |
250 unlet s:cpo_save | |
7 | 251 " vim600: set fdm=marker fdl=2: |