xref: /vim-8.2.3635/runtime/syntax/eterm.vim (revision 42eeac35)
1" Vim syntax file
2" Language:         eterm(1) configuration file
3" Maintainer:       Nikolai Weibull <[email protected]>
4" Latest Revision:  2005-06-29
5
6if exists("b:current_syntax")
7  finish
8endif
9
10let s:cpo_save = &cpo
11set cpo&vim
12
13syn keyword etermTodo             contained TODO FIXME XXX NOTE
14
15syn region  etermComment          matchgroup=etermComment start='^#' end='$'
16                                  \ contains=etermTodo,@Spell
17
18syn match   etermMagic            display display '^<Eterm-[0-9.]\+>$'
19
20syn match   etermNumber           contained display '\<\(\d\+\|0x\x\{1,2}\)\>'
21
22syn region  etermString           contained display oneline start=+"+
23                                  \ skip=+\\"+ end=+"+
24
25syn keyword etermBoolean          contained on off true false yes no
26
27syn keyword etermPreProc          contained appname exec get put random version
28                                  \ include preproc
29
30syn keyword etermFunctions        contained copy exit kill nop paste save
31                                  \ scroll search spawn
32
33syn cluster etermGeneral          contains=etermComment,etermFunction,
34                                  \ etermPreProc
35
36syn keyword etermKeyMod           contained ctrl shift lock mod1 mod2 mod3 mod4
37                                  \ mod5 alt meta anymod
38syn keyword etermKeyMod           contained button1 button2 button3 button4
39                                  \ button5
40
41syn keyword etermColorOptions     contained video nextgroup=etermVideoOptions
42                                  \ skipwhite
43
44syn keyword etermVideoType        contained normal reverse
45
46syn keyword etermColorOptions     contained foreground background cursor
47                                  \ cursor_text pointer
48                                  \ nextgroup=etermColorType skipwhite
49
50syn keyword etermColorType        contained bd ul
51syn match   etermColorType        contained display '\<\%(\d\|1[0-5]\)'
52
53syn keyword etermColorOptions     contained color
54                                  \ nextgroup=etermColorNumber skipwhite
55
56syn keyword etermColorNumber      contained bd ul nextgroup=etermColorSpec
57                                  \ skipwhite
58syn match   etermColorNumber      contained display '\<\%(\d\|1[0-5]\)'
59                                  \ nextgroup=etermColorSpec skipwhite
60
61syn match   etermColorSpec        contained display '\S\+'
62
63syn region  etermColorContext     fold transparent matchgroup=etermContext
64                                  \ start='^\s*begin\s\+color'
65                                  \ end='^\s*end\>'
66                                  \ contains=@etermGeneral,etermColorOptions
67
68syn keyword etermAttrOptions      contained geometry nextgroup=etermGeometry
69                                  \ skipwhite
70
71syn match   etermGeometry         contained display '\d\+x\d++\d\++\d\+'
72
73syn keyword etermAttrOptions      contained scrollbar_type
74                                  \ nextgroup=etermScrollbarType skipwhite
75
76syn keyword etermScrollbarType    contained motif xterm next
77
78syn keyword etermAttrOptions      contained font nextgroup=etermFontType
79                                  \ skipwhite
80
81syn keyword etermFontType         contained bold nextgroup=etermFont skipwhite
82syn match   etermFontType         contained display '[0-5]' nextgroup=etermFont
83                                  \ skipwhite
84
85syn match   etermFont             contained display '\S\+'
86
87syn keyword etermFontType         contained default nextgroup=etermNumber
88                                  \ skipwhite
89
90syn keyword etermFontType         contained proportional nextgroup=etermBoolean
91                                  \ skipwhite
92
93syn keyword etermFontType         contained fx nextgroup=etermString skipwhite
94
95syn keyword etermAttrOptions      contained title name iconname
96                                  \ nextgroup=etermString skipwhite
97
98syn keyword etermAttrOptions      contained scrollbar_width desktop
99                                  \ nextgroup=etermNumber skipwhite
100
101syn region  etermAttrContext      fold transparent matchgroup=etermContext
102                                  \ start='^\s*begin\s\+attributes\'
103                                  \ end='^\s*end\>'
104                                  \ contains=@etermGeneral,etermAttrOptions
105
106syn keyword etermIClassOptions    contained icon path nextgroup=etermString
107                                  \ skipwhite
108syn keyword etermIClassOptions    contained cache nextgroup=etermNumber
109                                  \ skipwhite
110syn keyword etermIClassOptions    contained anim nextgroup=etermNumber
111                                  \ skipwhite
112
113syn region  etermIClassContext    fold transparent matchgroup=etermContext
114                                  \ start='^\s*begin\s\+imageclasses'
115                                  \ end='^\s*end\>'
116                                  \ contains=@etermGeneral,etermImageContext,
117                                  \ etermIClassOptions
118
119syn keyword etermImageOptions     contained type nextgroup=etermImageType
120                                  \ skipwhite
121
122syn keyword etermImageTypes       contained background trough anchor up_arrow
123                                  \ left_arrow right_arrow menu menuitem
124                                  \ submenu button buttonbar down_arrow
125
126syn keyword etermImageOptions     contained mode nextgroup=etermImageModes
127                                  \ skipwhite
128
129syn keyword etermImageModes       contained image trans viewport auto solid
130                                  \ nextgroup=etermImageModesAllow skipwhite
131syn keyword etermImageModesAllow  contained allow nextgroup=etermImageModesR
132                                  \ skipwhite
133syn keyword etermImageModesR      contained image trans viewport auto solid
134
135syn keyword etermImageOptions     contained state nextgroup=etermImageState
136                                  \ skipwhite
137
138syn keyword etermImageState       contained normal selected clicked disabled
139
140syn keyword etermImageOptions     contained color nextgroup=etermImageColorFG
141                                  \ skipwhite
142
143syn keyword etermImageColorFG     contained '\S\+' nextgroup=etermImageColorBG
144                                  \ skipwhite
145
146syn keyword etermImageColorBG     contained '\S\+'
147
148syn keyword etermImageOptions     contained file nextgroup=etermString
149                                  \ skipwhite
150
151syn keyword etermImageOptions     contained geom nextgroup=etermImageGeom
152                                  \ skipwhite
153
154syn match   etermImageGeom        contained display
155                                  \ '\s\+\%(\d\+x\d\++\d\++\d\+\)\=:\%(\%(tie\|scale\|hscale\|vscale\|propscale\)d\=\)\='
156
157syn keyword etermImageOptions     contained cmod colormod
158                                  \ nextgroup=etermImageCmod skipwhite
159
160syn keyword etermImageCmod        contained image red green blue
161                                  \ nextgroup=etermImageBrightness skipwhite
162
163syn match   etermImageBrightness  contained display '\<\(\d\+\|0x\x\{1,2}\)\>'
164                                  \ nextgroup=etermImageContrast skipwhite
165
166syn match   etermImageContrast    contained display '\<\(\d\+\|0x\x\{1,2}\)\>'
167                                  \ nextgroup=etermImageGamma skipwhite
168
169syn match   etermImageGamma       contained display '\<\(\d\+\|0x\x\{1,2}\)\>'
170                                  \ nextgroup=etermImageGamma skipwhite
171
172syn region  etermImageOptions     contained matchgroup=etermImageOptions
173                                  \ start='border\|bevel\%(\s\+\%(up\|down\)\)\|padding'
174                                  \ end='$' contains=etermNumber
175
176syn region  etermImageContext     contained fold transparent
177                                  \ matchgroup=etermContext
178                                  \ start='^\s*begin\s\+image'
179                                  \ end='^\s*end\>'
180                                  \ contains=@etermGeneral,etermImageOptions
181
182syn keyword etermMenuItemOptions  contained action
183                                  \ nextgroup=etermMenuItemAction skipwhite
184
185syn keyword etermMenuItemAction   contained string echo submenu script
186                                  \ nextgroup=etermString skipwhite
187
188syn keyword etermMenuItemAction   contained separator
189
190syn keyword etermMenuItemOptions  contained text rtext nextgroup=etermString
191                                  \ skipwhite
192
193syn region  etermMenuItemContext  contained fold transparent
194                                  \ matchgroup=etermContext
195                                  \ start='^\s*begin\s\+menuitem'
196                                  \ end='^\s*end\>'
197                                  \ contains=@etermGeneral,etermMenuItemOptions
198
199syn keyword etermMenuOptions      contained title nextgroup=etermString
200                                  \ skipwhite
201
202syn keyword etermMenuOptions      contained font_name nextgroup=etermFont
203                                  \ skipwhite
204
205syn match   etermMenuOptions      contained display '\<sep\>\|-'
206
207syn region  etermMenuContext      fold transparent matchgroup=etermContext
208                                  \ start='^\s*begin\s\+menu'
209                                  \ end='^\s*end\>'
210                                  \ contains=@etermGeneral,etermMenuOptions,
211                                  \ etermMenuItemContext
212
213syn keyword etermBind             contained bind nextgroup=etermBindMods
214                                  \ skipwhite
215
216syn keyword etermBindMods         contained ctrl shift lock mod1 mod2 mod3 mod4
217                                  \ mod5 alt meta anymod
218                                  \ nextgroup=etermBindMods skipwhite
219
220syn keyword etermBindTo           contained to nextgroup=etermBindType
221                                  \ skipwhite
222
223syn keyword etermBindType         contained string echo menu script
224                                  \ nextgroup=etermBindParam skipwhite
225
226syn match   etermBindParam        contained display '\S\+'
227
228syn region  etermActionsContext   fold transparent matchgroup=etermContext
229                                  \ start='^\s*begin\s\+actions'
230                                  \ end='^\s*end\>'
231                                  \ contains=@etermGeneral,etermActionsOptions
232
233syn keyword etermButtonOptions    contained font nextgroup=etermFont skipwhite
234syn keyword etermButtonOptions    contained visible nextgroup=etermBoolean
235                                  \ skipwhite
236syn keyword etermButtonOptions    contained dock nextgroup=etermDockOption
237                                  \ skipwhite
238
239syn keyword etermDockOption       contained top bottom no
240
241syn keyword etermButton           contained button nextgroup=etermButtonText
242                                  \ skipwhite
243
244syn region  etermButtonText       contained display oneline start=+"+
245                                  \ skip=+\\"+ end=+"+
246                                  \ nextgroup=etermButtonIcon skipwhite
247
248syn keyword etermButtonIcon       contained icon nextgroup=etermButtonIconFile
249                                  \ skipwhite
250
251syn keyword etermButtonIconFile   contained '\S\+' nextgroup=etermButtonAction
252                                  \ skipwhite
253
254syn keyword etermButtonAction     contained action nextgroup=etermBindType
255                                  \ skipwhite
256
257syn region  etermButtonContext    fold transparent matchgroup=etermContext
258                                  \ start='^\s*begin\s\+button_bar'
259                                  \ end='^\s*end\>'
260                                  \ contains=@etermGeneral,etermButtonOptions
261
262syn keyword etermMultiOptions     contained encoding nextgroup=etermEncoding
263                                  \ skipwhite
264
265syn keyword etermEncoding         eucj sjis euckr big5 gb
266syn match   etermEncoding         display 'iso-10646'
267
268syn keyword etermMultiOptions     contained font nextgroup=etermFontType
269                                  \ skipwhite
270
271syn region  etermMultiContext     fold transparent matchgroup=etermContext
272                                  \ start='^\s*begin\s\+multichar'
273                                  \ end="^\s*end\>'
274                                  \ contains=@etermGeneral,etermMultiOptions
275
276syn keyword etermXimOptions       contained input_method
277                                  \ nextgroup=etermInputMethod skipwhite
278
279syn match   etermInputMethod      contained display '\S+'
280
281syn keyword etermXimOptions       contained preedit_type
282                                  \ nextgroup=etermPreeditType skipwhite
283
284syn keyword etermPreeditType      contained OverTheSpot OffTheSpot Root
285
286syn region  etermXimContext       fold transparent matchgroup=etermContext
287                                  \ start='^\s*begin\s\+xim'
288                                  \ end="^\s*end\>'
289                                  \ contains=@etermGeneral,etermXimOptions
290
291syn keyword etermTogOptions       contained map_alert visual_bell login_shell
292                                  \ scrollbar utmp_logging meta8 iconic
293                                  \ no_input home_on_output home_on_input
294                                  \ scrollbar_floating scrollbar_right
295                                  \ scrollbar_popup borderless double_buffer
296                                  \ no_cursor pause xterm_select select_line
297                                  \ select_trailing_spaces report_as_keysyms
298                                  \ itrans immotile_trans buttonbar
299                                  \ resize_gravity nextgroup=etermBoolean
300                                  \ skipwhite
301
302syn region  etermTogContext       fold transparent matchgroup=etermContext
303                                  \ start='^\s*begin\s\+toggles'
304                                  \ end='^\s*end\>'
305                                  \ contains=@etermGeneral,etermTogOptions
306
307syn keyword etermKeyboardOptions  contained smallfont_key bigfont_key keysym
308                                  \ nextgroup=etermKeysym skipwhite
309
310syn keyword etermKeysym           contained '\S\+' nextgroup=etermString
311                                  \ skipwhite
312
313syn keyword etermKeyboardOptions  contained meta_mod alt_mod numlock_mod
314                                  \ nextgroup=etermNumber skipwhite
315
316syn keyword etermKeyboardOptions  contained greek app_keypad app_cursor
317                                  \ nextgroup=etermBoolean skipwhite
318
319syn region  etermKeyboardContext  fold transparent matchgroup=etermContext
320                                  \ start='^\s*begin\s\+keyboard'
321                                  \ end='^\s*end\>'
322                                  \ contains=@etermGeneral,etermKeyboardOptions
323
324syn keyword etermMiscOptions      contained print_pipe cut_chars finished_title
325                                  \ finished_text term_name exec
326                                  \ nextgroup=etermString skipwhite
327
328syn keyword etermMiscOptions      contained save_lines min_anchor_size
329                                  \ border_width line_space
330
331syn region  etermMiscContext      fold transparent matchgroup=etermContext
332                                  \ start='^\s*begin\s\+misc'
333                                  \ end='^\s*end\>'
334                                  \ contains=@etermGeneral,etermMiscOptions
335
336syn keyword etermEScreenOptions   contained url nextgroup=etermURL skipwhite
337
338syn match   etermURL              contained display
339                                  \ '\<\%(screen\|twin\)://\%([^@:/]\+\%(@[^:/]\+\%(:[^/]\+\)\=\)\=\)\=/\S\+'
340
341syn keyword etermEScreenOptions   contained firewall
342
343syn keyword etermEScreenOptions   contained delay nextgroup=etermNumber
344                                  \ skipwhite
345
346syn keyword etermEScreenOptions   contained bbar_font nextgroup=etermFont
347                                  \ skipwhite
348
349syn keyword etermEScreenOptions   contained bbar_dock nextgroup=etermDockOption
350                                  \ skipwhite
351
352syn region  etermEScreenContext   fold transparent matchgroup=etermContext
353                                  \ start='^\s*begin\s\+escreen'
354                                  \ end='^\s*end\>'
355                                  \ contains=@etermGeneral,etermEScreenOptions
356
357if exists("eterm_minlines")
358  let b:eterm_minlines = eterm_minlines
359else
360  let b:eterm_minlines = 50
361endif
362exec "syn sync minlines=" . b:eterm_minlines
363
364hi def link etermTodo             Todo
365hi def link etermComment          Comment
366hi def link etermMagic            PreProc
367hi def link etermNumber           Number
368hi def link etermString           String
369hi def link etermBoolean          Boolean
370hi def link etermPreProc          PreProc
371hi def link etermFunctions        Function
372hi def link etermKeyMod           Constant
373hi def link etermOption           Keyword
374hi def link etermColorOptions     etermOption
375hi def link etermColor            String
376hi def link etermVideoType        Type
377hi def link etermColorType        Type
378hi def link etermColorNumber      Number
379hi def link etermColorSpec        etermColor
380hi def link etermContext          Keyword
381hi def link etermAttrOptions      etermOption
382hi def link etermGeometry         String
383hi def link etermScrollbarType    Type
384hi def link etermFontType         Type
385hi def link etermIClassOptions    etermOption
386hi def link etermImageOptions     etermOption
387hi def link etermImageTypes       Type
388hi def link etermImageModes       Type
389hi def link etermImageModesAllow  Keyword
390hi def link etermImageModesR      Type
391hi def link etermImageState       Keyword
392hi def link etermImageColorFG     etermColor
393hi def link etermImageColorBG     etermColor
394hi def link etermImageGeom        String
395hi def link etermImageCmod        etermOption
396hi def link etermImageBrightness  Number
397hi def link etermImageContrast    Number
398hi def link etermImageGamma       Number
399hi def link etermMenuItemOptions  etermOption
400hi def link etermMenuItemAction   Keyword
401hi def link etermMenuOptions      etermOption
402hi def link etermBind             Keyword
403hi def link etermBindMods         Identifier
404hi def link etermBindTo           Keyword
405hi def link etermBindType         Type
406hi def link etermBindParam        String
407hi def link etermButtonOptions    etermOption
408hi def link etermDockOption       etermOption
409hi def link etermButtonText       String
410hi def link etermButtonIcon       String
411hi def link etermButtonIconFile   String
412hi def link etermButtonAction     Keyword
413hi def link etermMultiOptions     etermOption
414hi def link etermEncoding         Identifier
415hi def link etermXimOptions       etermOption
416hi def link etermInputMethod      Identifier
417hi def link etermPreeditType      Type
418hi def link etermTogOptions       etermOption
419hi def link etermKeyboardOptions  etermOption
420hi def link etermKeysym           Constant
421hi def link etermMiscOptions      etermOption
422hi def link etermEScreenOptions   etermOption
423hi def link etermURL              Identifier
424
425let b:current_syntax = "eterm"
426
427let &cpo = s:cpo_save
428unlet s:cpo_save
429