diff options
Diffstat (limited to 'runtime/syntax/eterm.vim')
-rw-r--r-- | runtime/syntax/eterm.vim | 200 |
1 files changed, 200 insertions, 0 deletions
diff --git a/runtime/syntax/eterm.vim b/runtime/syntax/eterm.vim new file mode 100644 index 000000000..9cf38fe14 --- /dev/null +++ b/runtime/syntax/eterm.vim @@ -0,0 +1,200 @@ +" Vim syntax file +" Language: Eterm configuration file +" Maintainer: Nikolai Weibull <source@pcppopper.org> +" URL: http://www.pcppopper.org/vim/syntax/pcp/eterm/ +" Latest Revision: 2004-05-06 +" arch-tag: f4c58caf-2b91-4fc4-96af-e3cad7c70e6b + +if version < 600 + syntax clear +elseif exists("b:current_syntax") + finish +endif + +" magic number +syn match etermMagic display "^<Eterm-[0-9.]\+>$" + +" comments +syn region etermComment matchgroup=etermComment start="^#" end="$" contains=etermTodo + +" todo +syn keyword etermTodo contained TODO FIXME XXX NOTE + +" numbers +syn match etermNumber contained display "\<\(\d\+\|0x\x\{1,2}\)\>" + +" strings +syn region etermString contained display oneline start=+"+ skip=+\\"+ end=+"+ + +" booleans +syn keyword etermBoolean contained on off true false yes no + +" colors (not pretty, but can't figure out better way...) +syn match etermColor contained display "\s\+#\x\{6}\>" +syn keyword etermColor contained white black + +" preproc +syn match etermPreProc contained "%\(appname\|exec\|get\|put\|random\|version\|include\|preproc\)("he=e-1 + +" functions +syn match etermFunctions contained "\<\(copy\|exit\|kill\|nop\|paste\|save\|scroll\|search\|spawn\)(" + +" and make it easy to refer to the above... +syn cluster etermGeneral contains=etermComment,etermNumber,etermString,etermBoolean,etermColor,etermFunction,etermPreProc + +" key modifiers +syn keyword etermKeyMod contained ctrl shift lock mod1 mod2 mod3 mod4 mod5 alt meta anymod +syn keyword etermKeyMod contained button1 button2 button3 button4 button5 + +" color context +syn region etermColorOptions contained oneline matchgroup=etermOption start="^\s*video\>" matchgroup=etermType end="\<\(normal\|reverse\)\>" +syn region etermColorOptions contained oneline matchgroup=etermOption start="^\s*color\>" matchgroup=etermType end="\<\(bd\|ul\|[0-9]\|1[0-5]\)\>" +syn keyword etermColorOptions contained foreground background cursor cursor_text pointer + +syn region etermColorContext fold transparent matchgroup=etermContext start="^\s*begin\s\+color\s*$" end="^\s*end\>\(\s\+.\{-0,}\)\=$" contains=@etermGeneral,etermColorOptions + +" attributes context +syn region etermAttrOptions contained oneline matchgroup=etermOption start="^\s*geometry\>" matchgroup=etermType end="\<\d\+x\d\++\d\++\d\+\>" +syn region etermAttrOptions contained oneline matchgroup=etermOption start="^\s*scrollbar_type\>" matchgroup=etermType end="\<\(motif\|xterm\|next\)\>" +syn region etermAttrOptions contained oneline matchgroup=etermOption start="^\s*font\>" matchgroup=etermType end="\<\(bold\|default\|proportional\|fx\|[0-5]\)\>" +syn keyword etermAttrOptions contained title name iconname desktop scrollbar_width + +syn region etermAttrContext fold transparent matchgroup=etermContext start="^\s*begin\s\+attributes\s*$" end="^\s*end\>\(\s\+.\{-0,}\)\=$" contains=@etermGeneral,etermAttrOptions + +" image context +" image types +syn keyword etermImageTypes contained background trough anchor up_arrow +syn keyword etermImageTypes contained left_arrow right_arrow menu menuitem +syn keyword etermImageTypes contained submenu button buttonbar down_arrow +syn region etermImageOptions contained transparent oneline matchgroup=etermOption start="^\s*type\>" end="$" contains=etermImageTypes +" image modes +syn keyword etermImageModes contained image trans viewport auto solid +syn keyword etermImageModesAllow contained allow +syn region etermImageOptions contained transparent oneline matchgroup=etermOption start="^\s*mode\>" end="$" contains=etermImageModes,etermImageModesAllow +" image states +syn region etermImageOptions contained transparent oneline matchgroup=etermOption start="^\s*state\>" matchgroup=etermType end="\<\(normal\|selected\|clicked\|disabled\)\>" +" image geometry +syn region etermImageOptions contained transparent oneline matchgroup=etermOption start="^\s*geom\>" matchgroup=etermType end="\s\+\(\d\+x\d\++\d\++\d\+\)\=:\(\(tile\|scale\|hscale\|vscale\|propscale\)d\=\)\=" +" image color modification +syn region etermImageOptions contained transparent oneline matchgroup=etermOption start="^\s*\(cmod\|colormod\)\>" matchgroup=etermType end="\<\(image\|red\|green\|blue\)\>" +" other keywords +syn keyword etermImageOptions contained file padding border bevel color + +syn region etermImageContext contained transparent fold matchgroup=etermContext start="^\s*begin\s\+image\s*$" end="^\s*end\>\(\s\+.\{-0,}\)\=$" contains=@etermGeneral,etermImageOptions + +" imageclasses context +syn keyword etermIClassOptions contained icon cache path anim + +syn region etermIClassContext fold transparent matchgroup=etermContext start="^\s*begin\s\+imageclasses\s*$" end="^\s*end\>\(\s\+.\{-0,}\)\=$" contains=@etermGeneral,etermImageContext,etermIClassOptions + +" menuitem context +syn region etermMenuItemOptions contained transparent oneline matchgroup=etermOption start="^\s*action\>" matchgroup=etermType end="\<string\|echo\|submenu\|script\|separator\>" +syn keyword etermMenuItemOptions contained text rtext + +syn region etermMenuItemContext fold transparent matchgroup=etermContext start="^\s*begin\s\+menuitem\s*$" end="^\s*end\>\(\s\+.\{-0,}\)\=$" contains=@etermGeneral,etermMenuItemOptions + +" menu context (should contain - as well, but no...) +syn keyword etermMenuOptions contained title font_name sep + +syn region etermMenuContext fold transparent matchgroup=etermContext start="^\s*begin\s\+menu\s*$" end="^\s*end\>\(\s\+.\{-0,}\)\=$" contains=@etermGeneral,etermMenuOptions,etermMenuItemContext + +" action context +syn match etermActionDef contained "\<\(to\|string\|echo\|menu\|script\)\>" +syn region etermActionsOptions contained transparent oneline matchgroup=etermOption start="^\s*bind\>" end="$" contains=etermActionDef,etermKeyMod + +syn region etermActionsContext fold transparent matchgroup=etermContext start="^\s*begin\s\+actions\s*$" end="^\s*end\>\(\s\+.\{-0,}\)\=$" contains=@etermGeneral,etermActionsOptions + +" button bar context +syn match etermButtonDef contained "\<\(action\|string\|echo\|menu\|scrupt\)\>" +syn region etermButtonOptions contained transparent oneline matchgroup=etermOption start="^\s*button\>" end="$" contains=etermButtonDef +syn keyword etermButtonOptions contained font visible dock + +syn region etermButtonContext fold transparent matchgroup=etermContext start="^\s*begin\s\+button_bar\s*$" end="^\s*end\>\(\s\+.\{-0,}\)\=$" contains=@etermGeneral,etermButtonOptions + +" multichar context +syn keyword etermMultiOptions contained encoding font + +syn region etermMultiContext fold transparent matchgroup=etermContext start="^\s*begin\s\+multichar\s*$" end="^\s*end\>\(\s\+.\{-0,}\)\=$" contains=@etermGeneral,etermMultiOptions + +" xim context +syn keyword etermXimOptions contained input_method preedit_type + +syn region etermXimContext fold transparent matchgroup=etermContext start="^\s*begin\s\+xim\s*$" end="^\s*end\>\(\s\+.\{-0,}\)\=$" contains=@etermGeneral,etermXimOptions + +" toggles context +syn keyword etermTogOptions contained map_alert visual_bell login_shell scrollbar utmp_logging meta8 iconic no_input +syn keyword etermTogOptions contained home_on_output home_on_input scrollbar_floating scrollbar_right scrollbar_popup +syn keyword etermTogOptions contained borderless double_buffer no_cursor pause xterm_select select_line +syn keyword etermTogOptions contained select_trailing_spaces report_as_keysyms itrans immotile_trans buttonbar +syn keyword etermTogOptions contained resize_gravity + +syn region etermTogContext fold transparent matchgroup=etermContext start="^\s*begin\s\+toggles\s*$" end="^\s*end\>\(\s\+.\{-0,}\)\=$" contains=@etermGeneral,etermTogOptions + +" keyboard context +syn keyword etermKeyboardOptions contained smallfont_key bigfont_key keysym meta_mod alt_mod +syn keyword etermKeyboardOptions contained greek numlock_mod app_keypad app_cursor + +syn region etermKeyboardContext fold transparent matchgroup=etermContext start="^\s*begin\s\+keyboard\s*$" end="^\s*end\>\(\s\+.\{-0,}\)\=$" contains=@etermGeneral,etermKeyboardOptions + +" misc context +syn keyword etermMiscOptions contained print_pipe save_lines cut_chars min_anchor_size +syn keyword etermMiscOptions contained border_width line_space finished_title term_name +syn keyword etermMiscOptions contained finished_text exec + +syn region etermMiscContext fold transparent matchgroup=etermContext start="^\s*begin\s\+misc\s*$" end="^\s*end\>\(\s\+.\{-0,}\)\=$" contains=@etermGeneral,etermMiscOptions + +if exists("eterm_minlines") + let b:eterm_minlines = eterm_minlines +else + let b:eterm_minlines = 30 +endif +exec "syn sync minlines=" . b:eterm_minlines + +" Define the default highlighting. +" For version 5.7 and earlier: only when not done already +" For version 5.8 and later: only when an item doesn't have highlighting yet +if version >= 508 || !exists("did_eterm_syn_inits") + if version < 508 + let did_eterm_syn_inits = 1 + command -nargs=+ HiLink hi link <args> + else + command -nargs=+ HiLink hi def link <args> + endif + + HiLink etermMagic Special + HiLink etermComment Comment + HiLink etermTodo Todo + HiLink etermNumber Number + HiLink etermString String + HiLink etermBoolean Boolean + HiLink etermColor Number + HiLink etermPreProc PreProc + HiLink etermFunctions Function + HiLink etermKeyMod Special + HiLink etermContext Keyword + HiLink etermOption Keyword + HiLink etermType Type + HiLink etermColorOptions Keyword + HiLink etermAttrOptions Keyword + HiLink etermIClassOptions Keyword + HiLink etermImageTypes Type + HiLink etermImageModes Type + HiLink etermImageModesAllow Keyword + HiLink etermImageOptions Keyword + HiLink etermMenuOptions Keyword + HiLink etermMenuItemOptions Keyword + HiLink etermActionDef Type + HiLink etermActionsOptions Keyword + HiLink etermButtonDef Type + HiLink etermButtonOptions Keyword + HiLink etermMultiOptions Keyword + HiLink etermXimOptions Keyword + HiLink etermTogOptions Keyword + HiLink etermKeyboardOptions Keyword + HiLink etermMiscOptions Keyword + delcommand HiLink +endif + +let b:current_syntax = "eterm" + +" vim: set sts=2 sw=2: |