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