" Vim syntax file " Language: Eterm configuration file " Maintainer: Nikolai Weibull " 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 "^$" " 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="\" 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 else command -nargs=+ HiLink hi def link 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: