1" Vim syntax file 2" Language: eterm(1) configuration file 3" Maintainer: Nikolai Weibull <now@bitwi.se> 4" Latest Revision: 2006-04-21 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 display oneline start='^#' end='$' 16 \ contains=etermTodo,@Spell 17 18syn match etermMagic 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 display oneline 173 \ matchgroup=etermImageOptions 174 \ start='border\|bevel\%(\s\+\%(up\|down\)\)\|padding' 175 \ end='$' contains=etermNumber 176 177syn region etermImageContext contained fold transparent 178 \ matchgroup=etermContext 179 \ start='^\s*begin\s\+image\>' 180 \ end='^\s*end\>' 181 \ contains=@etermGeneral,etermImageOptions 182 183syn keyword etermMenuItemOptions contained action 184 \ nextgroup=etermMenuItemAction skipwhite 185 186syn keyword etermMenuItemAction contained string echo submenu script 187 \ nextgroup=etermString skipwhite 188 189syn keyword etermMenuItemAction contained separator 190 191syn keyword etermMenuItemOptions contained text rtext nextgroup=etermString 192 \ skipwhite 193 194syn region etermMenuItemContext contained fold transparent 195 \ matchgroup=etermContext 196 \ start='^\s*begin\s\+menuitem\>' 197 \ end='^\s*end\>' 198 \ contains=@etermGeneral,etermMenuItemOptions 199 200syn keyword etermMenuOptions contained title nextgroup=etermString 201 \ skipwhite 202 203syn keyword etermMenuOptions contained font_name nextgroup=etermFont 204 \ skipwhite 205 206syn match etermMenuOptions contained display '\<sep\>\|-' 207 208syn region etermMenuContext fold transparent matchgroup=etermContext 209 \ start='^\s*begin\s\+menu\>' 210 \ end='^\s*end\>' 211 \ contains=@etermGeneral,etermMenuOptions, 212 \ etermMenuItemContext 213 214syn keyword etermBind contained bind nextgroup=etermBindMods 215 \ skipwhite 216 217syn keyword etermBindMods contained ctrl shift lock mod1 mod2 mod3 mod4 218 \ mod5 alt meta anymod 219 \ nextgroup=etermBindMods skipwhite 220 221syn keyword etermBindTo contained to nextgroup=etermBindType 222 \ skipwhite 223 224syn keyword etermBindType contained string echo menu script 225 \ nextgroup=etermBindParam skipwhite 226 227syn match etermBindParam contained display '\S\+' 228 229syn region etermActionsContext fold transparent matchgroup=etermContext 230 \ start='^\s*begin\s\+actions\>' 231 \ end='^\s*end\>' 232 \ contains=@etermGeneral,etermActionsOptions 233 234syn keyword etermButtonOptions contained font nextgroup=etermFont skipwhite 235syn keyword etermButtonOptions contained visible nextgroup=etermBoolean 236 \ skipwhite 237syn keyword etermButtonOptions contained dock nextgroup=etermDockOption 238 \ skipwhite 239 240syn keyword etermDockOption contained top bottom no 241 242syn keyword etermButton contained button nextgroup=etermButtonText 243 \ skipwhite 244 245syn region etermButtonText contained display oneline start=+"+ 246 \ skip=+\\"+ end=+"+ 247 \ nextgroup=etermButtonIcon skipwhite 248 249syn keyword etermButtonIcon contained icon nextgroup=etermButtonIconFile 250 \ skipwhite 251 252syn keyword etermButtonIconFile contained '\S\+' nextgroup=etermButtonAction 253 \ skipwhite 254 255syn keyword etermButtonAction contained action nextgroup=etermBindType 256 \ skipwhite 257 258syn region etermButtonContext fold transparent matchgroup=etermContext 259 \ start='^\s*begin\s\+button_bar\>' 260 \ end='^\s*end\>' 261 \ contains=@etermGeneral,etermButtonOptions 262 263syn keyword etermMultiOptions contained encoding nextgroup=etermEncoding 264 \ skipwhite 265 266syn keyword etermEncoding eucj sjis euckr big5 gb 267syn match etermEncoding display 'iso-10646' 268 269syn keyword etermMultiOptions contained font nextgroup=etermFontType 270 \ skipwhite 271 272syn region etermMultiContext fold transparent matchgroup=etermContext 273 \ start='^\s*begin\s\+multichar\>' 274 \ end='^\s*end\>' 275 \ contains=@etermGeneral,etermMultiOptions 276 277syn keyword etermXimOptions contained input_method 278 \ nextgroup=etermInputMethod skipwhite 279 280syn match etermInputMethod contained display '\S+' 281 282syn keyword etermXimOptions contained preedit_type 283 \ nextgroup=etermPreeditType skipwhite 284 285syn keyword etermPreeditType contained OverTheSpot OffTheSpot Root 286 287syn region etermXimContext fold transparent matchgroup=etermContext 288 \ start='^\s*begin\s\+xim\>' 289 \ end='^\s*end\>' 290 \ contains=@etermGeneral,etermXimOptions 291 292syn keyword etermTogOptions contained map_alert visual_bell login_shell 293 \ scrollbar utmp_logging meta8 iconic 294 \ no_input home_on_output home_on_input 295 \ scrollbar_floating scrollbar_right 296 \ scrollbar_popup borderless double_buffer 297 \ no_cursor pause xterm_select select_line 298 \ select_trailing_spaces report_as_keysyms 299 \ itrans immotile_trans buttonbar 300 \ resize_gravity nextgroup=etermBoolean 301 \ skipwhite 302 303syn region etermTogContext fold transparent matchgroup=etermContext 304 \ start='^\s*begin\s\+toggles\>' 305 \ end='^\s*end\>' 306 \ contains=@etermGeneral,etermTogOptions 307 308syn keyword etermKeyboardOptions contained smallfont_key bigfont_key keysym 309 \ nextgroup=etermKeysym skipwhite 310 311syn keyword etermKeysym contained '\S\+' nextgroup=etermString 312 \ skipwhite 313 314syn keyword etermKeyboardOptions contained meta_mod alt_mod numlock_mod 315 \ nextgroup=etermNumber skipwhite 316 317syn keyword etermKeyboardOptions contained greek app_keypad app_cursor 318 \ nextgroup=etermBoolean skipwhite 319 320syn region etermKeyboardContext fold transparent matchgroup=etermContext 321 \ start='^\s*begin\s\+keyboard\>' 322 \ end='^\s*end\>' 323 \ contains=@etermGeneral,etermKeyboardOptions 324 325syn keyword etermMiscOptions contained print_pipe cut_chars finished_title 326 \ finished_text term_name exec 327 \ nextgroup=etermString skipwhite 328 329syn keyword etermMiscOptions contained save_lines min_anchor_size 330 \ border_width line_space 331 332syn region etermMiscContext fold transparent matchgroup=etermContext 333 \ start='^\s*begin\s\+misc\>' 334 \ end='^\s*end\>' 335 \ contains=@etermGeneral,etermMiscOptions 336 337syn keyword etermEScreenOptions contained url nextgroup=etermURL skipwhite 338 339syn match etermURL contained display 340 \ '\<\%(screen\|twin\)://\%([^@:/]\+\%(@[^:/]\+\%(:[^/]\+\)\=\)\=\)\=/\S\+' 341 342syn keyword etermEScreenOptions contained firewall 343 344syn keyword etermEScreenOptions contained delay nextgroup=etermNumber 345 \ skipwhite 346 347syn keyword etermEScreenOptions contained bbar_font nextgroup=etermFont 348 \ skipwhite 349 350syn keyword etermEScreenOptions contained bbar_dock nextgroup=etermDockOption 351 \ skipwhite 352 353syn region etermEScreenContext fold transparent matchgroup=etermContext 354 \ start='^\s*begin\s\+escreen\>' 355 \ end='^\s*end\>' 356 \ contains=@etermGeneral,etermEScreenOptions 357 358if exists("eterm_minlines") 359 let b:eterm_minlines = eterm_minlines 360else 361 let b:eterm_minlines = 50 362endif 363exec "syn sync minlines=" . b:eterm_minlines 364 365hi def link etermTodo Todo 366hi def link etermComment Comment 367hi def link etermMagic PreProc 368hi def link etermNumber Number 369hi def link etermString String 370hi def link etermBoolean Boolean 371hi def link etermPreProc PreProc 372hi def link etermFunctions Function 373hi def link etermKeyMod Constant 374hi def link etermOption Keyword 375hi def link etermColorOptions etermOption 376hi def link etermColor String 377hi def link etermVideoType Type 378hi def link etermColorType Type 379hi def link etermColorNumber Number 380hi def link etermColorSpec etermColor 381hi def link etermContext Keyword 382hi def link etermAttrOptions etermOption 383hi def link etermGeometry String 384hi def link etermScrollbarType Type 385hi def link etermFontType Type 386hi def link etermIClassOptions etermOption 387hi def link etermImageOptions etermOption 388hi def link etermImageTypes Type 389hi def link etermImageModes Type 390hi def link etermImageModesAllow Keyword 391hi def link etermImageModesR Type 392hi def link etermImageState Keyword 393hi def link etermImageColorFG etermColor 394hi def link etermImageColorBG etermColor 395hi def link etermImageGeom String 396hi def link etermImageCmod etermOption 397hi def link etermImageBrightness Number 398hi def link etermImageContrast Number 399hi def link etermImageGamma Number 400hi def link etermMenuItemOptions etermOption 401hi def link etermMenuItemAction Keyword 402hi def link etermMenuOptions etermOption 403hi def link etermBind Keyword 404hi def link etermBindMods Identifier 405hi def link etermBindTo Keyword 406hi def link etermBindType Type 407hi def link etermBindParam String 408hi def link etermButtonOptions etermOption 409hi def link etermDockOption etermOption 410hi def link etermButtonText String 411hi def link etermButtonIcon String 412hi def link etermButtonIconFile String 413hi def link etermButtonAction Keyword 414hi def link etermMultiOptions etermOption 415hi def link etermEncoding Identifier 416hi def link etermXimOptions etermOption 417hi def link etermInputMethod Identifier 418hi def link etermPreeditType Type 419hi def link etermTogOptions etermOption 420hi def link etermKeyboardOptions etermOption 421hi def link etermKeysym Constant 422hi def link etermMiscOptions etermOption 423hi def link etermEScreenOptions etermOption 424hi def link etermURL Identifier 425 426let b:current_syntax = "eterm" 427 428let &cpo = s:cpo_save 429unlet s:cpo_save 430