diff runtime/syntax/eterm.vim @ 0:76efa0be13f1

Initial revision
author atsuki
date Sat, 10 Nov 2007 15:07:22 +0900
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/runtime/syntax/eterm.vim	Sat Nov 10 15:07:22 2007 +0900
@@ -0,0 +1,429 @@
+" 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