| " Vim syntax file |
| " Language: eterm(1) configuration file |
| " Maintainer: Nikolai Weibull <now@bitwi.se> |
| " Latest Revision: 2006-04-21 |
| |
| if exists("b:current_syntax") |
| finish |
| endif |
| |
| let s:cpo_save = &cpo |
| set cpo&vim |
| |
| syn keyword etermTodo contained TODO FIXME XXX NOTE |
| |
| syn region etermComment display oneline start='^#' end='$' |
| \ contains=etermTodo,@Spell |
| |
| syn match etermMagic display '^<Eterm-[0-9.]\+>$' |
| |
| syn match etermNumber contained display '\<\(\d\+\|0x\x\{1,2}\)\>' |
| |
| syn region etermString contained display oneline start=+"+ |
| \ skip=+\\"+ end=+"+ |
| |
| syn keyword etermBoolean contained on off true false yes no |
| |
| syn keyword etermPreProc contained appname exec get put random version |
| \ include preproc |
| |
| syn keyword etermFunctions contained copy exit kill nop paste save |
| \ scroll search spawn |
| |
| syn cluster etermGeneral contains=etermComment,etermFunction, |
| \ etermPreProc |
| |
| syn keyword etermKeyMod contained ctrl shift lock mod1 mod2 mod3 mod4 |
| \ mod5 alt meta anymod |
| syn keyword etermKeyMod contained button1 button2 button3 button4 |
| \ button5 |
| |
| syn keyword etermColorOptions contained video nextgroup=etermVideoOptions |
| \ skipwhite |
| |
| syn keyword etermVideoType contained normal reverse |
| |
| syn keyword etermColorOptions contained foreground background cursor |
| \ cursor_text pointer |
| \ nextgroup=etermColorType skipwhite |
| |
| syn keyword etermColorType contained bd ul |
| syn match etermColorType contained display '\<\%(\d\|1[0-5]\)' |
| |
| syn keyword etermColorOptions contained color |
| \ nextgroup=etermColorNumber skipwhite |
| |
| syn keyword etermColorNumber contained bd ul nextgroup=etermColorSpec |
| \ skipwhite |
| syn match etermColorNumber contained display '\<\%(\d\|1[0-5]\)' |
| \ nextgroup=etermColorSpec skipwhite |
| |
| syn match etermColorSpec contained display '\S\+' |
| |
| syn region etermColorContext fold transparent matchgroup=etermContext |
| \ start='^\s*begin\s\+color\>' |
| \ end='^\s*end\>' |
| \ contains=@etermGeneral,etermColorOptions |
| |
| syn keyword etermAttrOptions contained geometry nextgroup=etermGeometry |
| \ skipwhite |
| |
| syn match etermGeometry contained display '\d\+x\d++\d\++\d\+' |
| |
| syn keyword etermAttrOptions contained scrollbar_type |
| \ nextgroup=etermScrollbarType skipwhite |
| |
| syn keyword etermScrollbarType contained motif xterm next |
| |
| syn keyword etermAttrOptions contained font nextgroup=etermFontType |
| \ skipwhite |
| |
| syn keyword etermFontType contained bold nextgroup=etermFont skipwhite |
| syn match etermFontType contained display '[0-5]' nextgroup=etermFont |
| \ skipwhite |
| |
| syn match etermFont contained display '\S\+' |
| |
| syn keyword etermFontType contained default nextgroup=etermNumber |
| \ skipwhite |
| |
| syn keyword etermFontType contained proportional nextgroup=etermBoolean |
| \ skipwhite |
| |
| syn keyword etermFontType contained fx nextgroup=etermString skipwhite |
| |
| syn keyword etermAttrOptions contained title name iconname |
| \ nextgroup=etermString skipwhite |
| |
| syn keyword etermAttrOptions contained scrollbar_width desktop |
| \ nextgroup=etermNumber skipwhite |
| |
| syn region etermAttrContext fold transparent matchgroup=etermContext |
| \ start='^\s*begin\s\+attributes\>' |
| \ end='^\s*end\>' |
| \ contains=@etermGeneral,etermAttrOptions |
| |
| syn keyword etermIClassOptions contained icon path nextgroup=etermString |
| \ skipwhite |
| syn keyword etermIClassOptions contained cache nextgroup=etermNumber |
| \ skipwhite |
| syn keyword etermIClassOptions contained anim nextgroup=etermNumber |
| \ skipwhite |
| |
| syn region etermIClassContext fold transparent matchgroup=etermContext |
| \ start='^\s*begin\s\+imageclasses\>' |
| \ end='^\s*end\>' |
| \ contains=@etermGeneral,etermImageContext, |
| \ etermIClassOptions |
| |
| syn keyword etermImageOptions contained type nextgroup=etermImageType |
| \ skipwhite |
| |
| syn keyword etermImageTypes contained background trough anchor up_arrow |
| \ left_arrow right_arrow menu menuitem |
| \ submenu button buttonbar down_arrow |
| |
| syn keyword etermImageOptions contained mode nextgroup=etermImageModes |
| \ skipwhite |
| |
| syn keyword etermImageModes contained image trans viewport auto solid |
| \ nextgroup=etermImageModesAllow skipwhite |
| syn keyword etermImageModesAllow contained allow nextgroup=etermImageModesR |
| \ skipwhite |
| syn keyword etermImageModesR contained image trans viewport auto solid |
| |
| syn keyword etermImageOptions contained state nextgroup=etermImageState |
| \ skipwhite |
| |
| syn keyword etermImageState contained normal selected clicked disabled |
| |
| syn keyword etermImageOptions contained color nextgroup=etermImageColorFG |
| \ skipwhite |
| |
| syn keyword etermImageColorFG contained '\S\+' nextgroup=etermImageColorBG |
| \ skipwhite |
| |
| syn keyword etermImageColorBG contained '\S\+' |
| |
| syn keyword etermImageOptions contained file nextgroup=etermString |
| \ skipwhite |
| |
| syn keyword etermImageOptions contained geom nextgroup=etermImageGeom |
| \ skipwhite |
| |
| syn match etermImageGeom contained display |
| \ '\s\+\%(\d\+x\d\++\d\++\d\+\)\=:\%(\%(tie\|scale\|hscale\|vscale\|propscale\)d\=\)\=' |
| |
| syn keyword etermImageOptions contained cmod colormod |
| \ nextgroup=etermImageCmod skipwhite |
| |
| syn keyword etermImageCmod contained image red green blue |
| \ nextgroup=etermImageBrightness skipwhite |
| |
| syn match etermImageBrightness contained display '\<\(\d\+\|0x\x\{1,2}\)\>' |
| \ nextgroup=etermImageContrast skipwhite |
| |
| syn match etermImageContrast contained display '\<\(\d\+\|0x\x\{1,2}\)\>' |
| \ nextgroup=etermImageGamma skipwhite |
| |
| syn match etermImageGamma contained display '\<\(\d\+\|0x\x\{1,2}\)\>' |
| \ nextgroup=etermImageGamma skipwhite |
| |
| syn region etermImageOptions contained display oneline |
| \ matchgroup=etermImageOptions |
| \ start='border\|bevel\%(\s\+\%(up\|down\)\)\|padding' |
| \ end='$' contains=etermNumber |
| |
| syn region etermImageContext contained fold transparent |
| \ matchgroup=etermContext |
| \ start='^\s*begin\s\+image\>' |
| \ end='^\s*end\>' |
| \ contains=@etermGeneral,etermImageOptions |
| |
| syn keyword etermMenuItemOptions contained action |
| \ nextgroup=etermMenuItemAction skipwhite |
| |
| syn keyword etermMenuItemAction contained string echo submenu script |
| \ nextgroup=etermString skipwhite |
| |
| syn keyword etermMenuItemAction contained separator |
| |
| syn keyword etermMenuItemOptions contained text rtext nextgroup=etermString |
| \ skipwhite |
| |
| syn region etermMenuItemContext contained fold transparent |
| \ matchgroup=etermContext |
| \ start='^\s*begin\s\+menuitem\>' |
| \ end='^\s*end\>' |
| \ contains=@etermGeneral,etermMenuItemOptions |
| |
| syn keyword etermMenuOptions contained title nextgroup=etermString |
| \ skipwhite |
| |
| syn keyword etermMenuOptions contained font_name nextgroup=etermFont |
| \ skipwhite |
| |
| syn match etermMenuOptions contained display '\<sep\>\|-' |
| |
| syn region etermMenuContext fold transparent matchgroup=etermContext |
| \ start='^\s*begin\s\+menu\>' |
| \ end='^\s*end\>' |
| \ contains=@etermGeneral,etermMenuOptions, |
| \ etermMenuItemContext |
| |
| syn keyword etermBind contained bind nextgroup=etermBindMods |
| \ skipwhite |
| |
| syn keyword etermBindMods contained ctrl shift lock mod1 mod2 mod3 mod4 |
| \ mod5 alt meta anymod |
| \ nextgroup=etermBindMods skipwhite |
| |
| syn keyword etermBindTo contained to nextgroup=etermBindType |
| \ skipwhite |
| |
| syn keyword etermBindType contained string echo menu script |
| \ nextgroup=etermBindParam skipwhite |
| |
| syn match etermBindParam contained display '\S\+' |
| |
| syn region etermActionsContext fold transparent matchgroup=etermContext |
| \ start='^\s*begin\s\+actions\>' |
| \ end='^\s*end\>' |
| \ contains=@etermGeneral,etermActionsOptions |
| |
| syn keyword etermButtonOptions contained font nextgroup=etermFont skipwhite |
| syn keyword etermButtonOptions contained visible nextgroup=etermBoolean |
| \ skipwhite |
| syn keyword etermButtonOptions contained dock nextgroup=etermDockOption |
| \ skipwhite |
| |
| syn keyword etermDockOption contained top bottom no |
| |
| syn keyword etermButton contained button nextgroup=etermButtonText |
| \ skipwhite |
| |
| syn region etermButtonText contained display oneline start=+"+ |
| \ skip=+\\"+ end=+"+ |
| \ nextgroup=etermButtonIcon skipwhite |
| |
| syn keyword etermButtonIcon contained icon nextgroup=etermButtonIconFile |
| \ skipwhite |
| |
| syn keyword etermButtonIconFile contained '\S\+' nextgroup=etermButtonAction |
| \ skipwhite |
| |
| syn keyword etermButtonAction contained action nextgroup=etermBindType |
| \ skipwhite |
| |
| syn region etermButtonContext fold transparent matchgroup=etermContext |
| \ start='^\s*begin\s\+button_bar\>' |
| \ end='^\s*end\>' |
| \ contains=@etermGeneral,etermButtonOptions |
| |
| syn keyword etermMultiOptions contained encoding nextgroup=etermEncoding |
| \ skipwhite |
| |
| syn keyword etermEncoding eucj sjis euckr big5 gb |
| syn match etermEncoding display 'iso-10646' |
| |
| syn keyword etermMultiOptions contained font nextgroup=etermFontType |
| \ skipwhite |
| |
| syn region etermMultiContext fold transparent matchgroup=etermContext |
| \ start='^\s*begin\s\+multichar\>' |
| \ end='^\s*end\>' |
| \ contains=@etermGeneral,etermMultiOptions |
| |
| syn keyword etermXimOptions contained input_method |
| \ nextgroup=etermInputMethod skipwhite |
| |
| syn match etermInputMethod contained display '\S+' |
| |
| syn keyword etermXimOptions contained preedit_type |
| \ nextgroup=etermPreeditType skipwhite |
| |
| syn keyword etermPreeditType contained OverTheSpot OffTheSpot Root |
| |
| syn region etermXimContext fold transparent matchgroup=etermContext |
| \ start='^\s*begin\s\+xim\>' |
| \ end='^\s*end\>' |
| \ contains=@etermGeneral,etermXimOptions |
| |
| syn keyword etermTogOptions contained map_alert visual_bell login_shell |
| \ scrollbar utmp_logging meta8 iconic |
| \ no_input home_on_output home_on_input |
| \ scrollbar_floating scrollbar_right |
| \ scrollbar_popup borderless double_buffer |
| \ no_cursor pause xterm_select select_line |
| \ select_trailing_spaces report_as_keysyms |
| \ itrans immotile_trans buttonbar |
| \ resize_gravity nextgroup=etermBoolean |
| \ skipwhite |
| |
| syn region etermTogContext fold transparent matchgroup=etermContext |
| \ start='^\s*begin\s\+toggles\>' |
| \ end='^\s*end\>' |
| \ contains=@etermGeneral,etermTogOptions |
| |
| syn keyword etermKeyboardOptions contained smallfont_key bigfont_key keysym |
| \ nextgroup=etermKeysym skipwhite |
| |
| syn keyword etermKeysym contained '\S\+' nextgroup=etermString |
| \ skipwhite |
| |
| syn keyword etermKeyboardOptions contained meta_mod alt_mod numlock_mod |
| \ nextgroup=etermNumber skipwhite |
| |
| syn keyword etermKeyboardOptions contained greek app_keypad app_cursor |
| \ nextgroup=etermBoolean skipwhite |
| |
| syn region etermKeyboardContext fold transparent matchgroup=etermContext |
| \ start='^\s*begin\s\+keyboard\>' |
| \ end='^\s*end\>' |
| \ contains=@etermGeneral,etermKeyboardOptions |
| |
| syn keyword etermMiscOptions contained print_pipe cut_chars finished_title |
| \ finished_text term_name exec |
| \ nextgroup=etermString skipwhite |
| |
| syn keyword etermMiscOptions contained save_lines min_anchor_size |
| \ border_width line_space |
| |
| syn region etermMiscContext fold transparent matchgroup=etermContext |
| \ start='^\s*begin\s\+misc\>' |
| \ end='^\s*end\>' |
| \ contains=@etermGeneral,etermMiscOptions |
| |
| syn keyword etermEScreenOptions contained url nextgroup=etermURL skipwhite |
| |
| syn match etermURL contained display |
| \ '\<\%(screen\|twin\)://\%([^@:/]\+\%(@[^:/]\+\%(:[^/]\+\)\=\)\=\)\=/\S\+' |
| |
| syn keyword etermEScreenOptions contained firewall |
| |
| syn keyword etermEScreenOptions contained delay nextgroup=etermNumber |
| \ skipwhite |
| |
| syn keyword etermEScreenOptions contained bbar_font nextgroup=etermFont |
| \ skipwhite |
| |
| syn keyword etermEScreenOptions contained bbar_dock nextgroup=etermDockOption |
| \ skipwhite |
| |
| syn region etermEScreenContext fold transparent matchgroup=etermContext |
| \ start='^\s*begin\s\+escreen\>' |
| \ end='^\s*end\>' |
| \ contains=@etermGeneral,etermEScreenOptions |
| |
| if exists("eterm_minlines") |
| let b:eterm_minlines = eterm_minlines |
| else |
| let b:eterm_minlines = 50 |
| endif |
| exec "syn sync minlines=" . b:eterm_minlines |
| |
| hi def link etermTodo Todo |
| hi def link etermComment Comment |
| hi def link etermMagic PreProc |
| hi def link etermNumber Number |
| hi def link etermString String |
| hi def link etermBoolean Boolean |
| hi def link etermPreProc PreProc |
| hi def link etermFunctions Function |
| hi def link etermKeyMod Constant |
| hi def link etermOption Keyword |
| hi def link etermColorOptions etermOption |
| hi def link etermColor String |
| hi def link etermVideoType Type |
| hi def link etermColorType Type |
| hi def link etermColorNumber Number |
| hi def link etermColorSpec etermColor |
| hi def link etermContext Keyword |
| hi def link etermAttrOptions etermOption |
| hi def link etermGeometry String |
| hi def link etermScrollbarType Type |
| hi def link etermFontType Type |
| hi def link etermIClassOptions etermOption |
| hi def link etermImageOptions etermOption |
| hi def link etermImageTypes Type |
| hi def link etermImageModes Type |
| hi def link etermImageModesAllow Keyword |
| hi def link etermImageModesR Type |
| hi def link etermImageState Keyword |
| hi def link etermImageColorFG etermColor |
| hi def link etermImageColorBG etermColor |
| hi def link etermImageGeom String |
| hi def link etermImageCmod etermOption |
| hi def link etermImageBrightness Number |
| hi def link etermImageContrast Number |
| hi def link etermImageGamma Number |
| hi def link etermMenuItemOptions etermOption |
| hi def link etermMenuItemAction Keyword |
| hi def link etermMenuOptions etermOption |
| hi def link etermBind Keyword |
| hi def link etermBindMods Identifier |
| hi def link etermBindTo Keyword |
| hi def link etermBindType Type |
| hi def link etermBindParam String |
| hi def link etermButtonOptions etermOption |
| hi def link etermDockOption etermOption |
| hi def link etermButtonText String |
| hi def link etermButtonIcon String |
| hi def link etermButtonIconFile String |
| hi def link etermButtonAction Keyword |
| hi def link etermMultiOptions etermOption |
| hi def link etermEncoding Identifier |
| hi def link etermXimOptions etermOption |
| hi def link etermInputMethod Identifier |
| hi def link etermPreeditType Type |
| hi def link etermTogOptions etermOption |
| hi def link etermKeyboardOptions etermOption |
| hi def link etermKeysym Constant |
| hi def link etermMiscOptions etermOption |
| hi def link etermEScreenOptions etermOption |
| hi def link etermURL Identifier |
| |
| let b:current_syntax = "eterm" |
| |
| let &cpo = s:cpo_save |
| unlet s:cpo_save |