summaryrefslogtreecommitdiffstats
path: root/runtime/syntax/eterm.vim
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/syntax/eterm.vim')
-rw-r--r--runtime/syntax/eterm.vim429
1 files changed, 429 insertions, 0 deletions
diff --git a/runtime/syntax/eterm.vim b/runtime/syntax/eterm.vim
new file mode 100644
index 0000000..9b43cb2
--- /dev/null
+++ b/runtime/syntax/eterm.vim
@@ -0,0 +1,429 @@
+" Vim syntax file
+" Language: eterm(1) configuration file
+" Previous 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