1" Vim syntax file 2" Language: Eterm configuration file 3" Maintainer: Nikolai Weibull <[email protected]> 4" URL: http://www.pcppopper.org/vim/syntax/pcp/eterm/ 5" Latest Revision: 2004-05-06 6" arch-tag: f4c58caf-2b91-4fc4-96af-e3cad7c70e6b 7 8if version < 600 9 syntax clear 10elseif exists("b:current_syntax") 11 finish 12endif 13 14" magic number 15syn match etermMagic display "^<Eterm-[0-9.]\+>$" 16 17" comments 18syn region etermComment matchgroup=etermComment start="^#" end="$" contains=etermTodo 19 20" todo 21syn keyword etermTodo contained TODO FIXME XXX NOTE 22 23" numbers 24syn match etermNumber contained display "\<\(\d\+\|0x\x\{1,2}\)\>" 25 26" strings 27syn region etermString contained display oneline start=+"+ skip=+\\"+ end=+"+ 28 29" booleans 30syn keyword etermBoolean contained on off true false yes no 31 32" colors (not pretty, but can't figure out better way...) 33syn match etermColor contained display "\s\+#\x\{6}\>" 34syn keyword etermColor contained white black 35 36" preproc 37syn match etermPreProc contained "%\(appname\|exec\|get\|put\|random\|version\|include\|preproc\)("he=e-1 38 39" functions 40syn match etermFunctions contained "\<\(copy\|exit\|kill\|nop\|paste\|save\|scroll\|search\|spawn\)(" 41 42" and make it easy to refer to the above... 43syn cluster etermGeneral contains=etermComment,etermNumber,etermString,etermBoolean,etermColor,etermFunction,etermPreProc 44 45" key modifiers 46syn keyword etermKeyMod contained ctrl shift lock mod1 mod2 mod3 mod4 mod5 alt meta anymod 47syn keyword etermKeyMod contained button1 button2 button3 button4 button5 48 49" color context 50syn region etermColorOptions contained oneline matchgroup=etermOption start="^\s*video\>" matchgroup=etermType end="\<\(normal\|reverse\)\>" 51syn region etermColorOptions contained oneline matchgroup=etermOption start="^\s*color\>" matchgroup=etermType end="\<\(bd\|ul\|[0-9]\|1[0-5]\)\>" 52syn keyword etermColorOptions contained foreground background cursor cursor_text pointer 53 54syn region etermColorContext fold transparent matchgroup=etermContext start="^\s*begin\s\+color\s*$" end="^\s*end\>\(\s\+.\{-0,}\)\=$" contains=@etermGeneral,etermColorOptions 55 56" attributes context 57syn region etermAttrOptions contained oneline matchgroup=etermOption start="^\s*geometry\>" matchgroup=etermType end="\<\d\+x\d\++\d\++\d\+\>" 58syn region etermAttrOptions contained oneline matchgroup=etermOption start="^\s*scrollbar_type\>" matchgroup=etermType end="\<\(motif\|xterm\|next\)\>" 59syn region etermAttrOptions contained oneline matchgroup=etermOption start="^\s*font\>" matchgroup=etermType end="\<\(bold\|default\|proportional\|fx\|[0-5]\)\>" 60syn keyword etermAttrOptions contained title name iconname desktop scrollbar_width 61 62syn region etermAttrContext fold transparent matchgroup=etermContext start="^\s*begin\s\+attributes\s*$" end="^\s*end\>\(\s\+.\{-0,}\)\=$" contains=@etermGeneral,etermAttrOptions 63 64" image context 65" image types 66syn keyword etermImageTypes contained background trough anchor up_arrow 67syn keyword etermImageTypes contained left_arrow right_arrow menu menuitem 68syn keyword etermImageTypes contained submenu button buttonbar down_arrow 69syn region etermImageOptions contained transparent oneline matchgroup=etermOption start="^\s*type\>" end="$" contains=etermImageTypes 70" image modes 71syn keyword etermImageModes contained image trans viewport auto solid 72syn keyword etermImageModesAllow contained allow 73syn region etermImageOptions contained transparent oneline matchgroup=etermOption start="^\s*mode\>" end="$" contains=etermImageModes,etermImageModesAllow 74" image states 75syn region etermImageOptions contained transparent oneline matchgroup=etermOption start="^\s*state\>" matchgroup=etermType end="\<\(normal\|selected\|clicked\|disabled\)\>" 76" image geometry 77syn 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\=\)\=" 78" image color modification 79syn region etermImageOptions contained transparent oneline matchgroup=etermOption start="^\s*\(cmod\|colormod\)\>" matchgroup=etermType end="\<\(image\|red\|green\|blue\)\>" 80" other keywords 81syn keyword etermImageOptions contained file padding border bevel color 82 83syn region etermImageContext contained transparent fold matchgroup=etermContext start="^\s*begin\s\+image\s*$" end="^\s*end\>\(\s\+.\{-0,}\)\=$" contains=@etermGeneral,etermImageOptions 84 85" imageclasses context 86syn keyword etermIClassOptions contained icon cache path anim 87 88syn region etermIClassContext fold transparent matchgroup=etermContext start="^\s*begin\s\+imageclasses\s*$" end="^\s*end\>\(\s\+.\{-0,}\)\=$" contains=@etermGeneral,etermImageContext,etermIClassOptions 89 90" menuitem context 91syn region etermMenuItemOptions contained transparent oneline matchgroup=etermOption start="^\s*action\>" matchgroup=etermType end="\<string\|echo\|submenu\|script\|separator\>" 92syn keyword etermMenuItemOptions contained text rtext 93 94syn region etermMenuItemContext fold transparent matchgroup=etermContext start="^\s*begin\s\+menuitem\s*$" end="^\s*end\>\(\s\+.\{-0,}\)\=$" contains=@etermGeneral,etermMenuItemOptions 95 96" menu context (should contain - as well, but no...) 97syn keyword etermMenuOptions contained title font_name sep 98 99syn region etermMenuContext fold transparent matchgroup=etermContext start="^\s*begin\s\+menu\s*$" end="^\s*end\>\(\s\+.\{-0,}\)\=$" contains=@etermGeneral,etermMenuOptions,etermMenuItemContext 100 101" action context 102syn match etermActionDef contained "\<\(to\|string\|echo\|menu\|script\)\>" 103syn region etermActionsOptions contained transparent oneline matchgroup=etermOption start="^\s*bind\>" end="$" contains=etermActionDef,etermKeyMod 104 105syn region etermActionsContext fold transparent matchgroup=etermContext start="^\s*begin\s\+actions\s*$" end="^\s*end\>\(\s\+.\{-0,}\)\=$" contains=@etermGeneral,etermActionsOptions 106 107" button bar context 108syn match etermButtonDef contained "\<\(action\|string\|echo\|menu\|scrupt\)\>" 109syn region etermButtonOptions contained transparent oneline matchgroup=etermOption start="^\s*button\>" end="$" contains=etermButtonDef 110syn keyword etermButtonOptions contained font visible dock 111 112syn region etermButtonContext fold transparent matchgroup=etermContext start="^\s*begin\s\+button_bar\s*$" end="^\s*end\>\(\s\+.\{-0,}\)\=$" contains=@etermGeneral,etermButtonOptions 113 114" multichar context 115syn keyword etermMultiOptions contained encoding font 116 117syn region etermMultiContext fold transparent matchgroup=etermContext start="^\s*begin\s\+multichar\s*$" end="^\s*end\>\(\s\+.\{-0,}\)\=$" contains=@etermGeneral,etermMultiOptions 118 119" xim context 120syn keyword etermXimOptions contained input_method preedit_type 121 122syn region etermXimContext fold transparent matchgroup=etermContext start="^\s*begin\s\+xim\s*$" end="^\s*end\>\(\s\+.\{-0,}\)\=$" contains=@etermGeneral,etermXimOptions 123 124" toggles context 125syn keyword etermTogOptions contained map_alert visual_bell login_shell scrollbar utmp_logging meta8 iconic no_input 126syn keyword etermTogOptions contained home_on_output home_on_input scrollbar_floating scrollbar_right scrollbar_popup 127syn keyword etermTogOptions contained borderless double_buffer no_cursor pause xterm_select select_line 128syn keyword etermTogOptions contained select_trailing_spaces report_as_keysyms itrans immotile_trans buttonbar 129syn keyword etermTogOptions contained resize_gravity 130 131syn region etermTogContext fold transparent matchgroup=etermContext start="^\s*begin\s\+toggles\s*$" end="^\s*end\>\(\s\+.\{-0,}\)\=$" contains=@etermGeneral,etermTogOptions 132 133" keyboard context 134syn keyword etermKeyboardOptions contained smallfont_key bigfont_key keysym meta_mod alt_mod 135syn keyword etermKeyboardOptions contained greek numlock_mod app_keypad app_cursor 136 137syn region etermKeyboardContext fold transparent matchgroup=etermContext start="^\s*begin\s\+keyboard\s*$" end="^\s*end\>\(\s\+.\{-0,}\)\=$" contains=@etermGeneral,etermKeyboardOptions 138 139" misc context 140syn keyword etermMiscOptions contained print_pipe save_lines cut_chars min_anchor_size 141syn keyword etermMiscOptions contained border_width line_space finished_title term_name 142syn keyword etermMiscOptions contained finished_text exec 143 144syn region etermMiscContext fold transparent matchgroup=etermContext start="^\s*begin\s\+misc\s*$" end="^\s*end\>\(\s\+.\{-0,}\)\=$" contains=@etermGeneral,etermMiscOptions 145 146if exists("eterm_minlines") 147 let b:eterm_minlines = eterm_minlines 148else 149 let b:eterm_minlines = 30 150endif 151exec "syn sync minlines=" . b:eterm_minlines 152 153" Define the default highlighting. 154" For version 5.7 and earlier: only when not done already 155" For version 5.8 and later: only when an item doesn't have highlighting yet 156if version >= 508 || !exists("did_eterm_syn_inits") 157 if version < 508 158 let did_eterm_syn_inits = 1 159 command -nargs=+ HiLink hi link <args> 160 else 161 command -nargs=+ HiLink hi def link <args> 162 endif 163 164 HiLink etermMagic Special 165 HiLink etermComment Comment 166 HiLink etermTodo Todo 167 HiLink etermNumber Number 168 HiLink etermString String 169 HiLink etermBoolean Boolean 170 HiLink etermColor Number 171 HiLink etermPreProc PreProc 172 HiLink etermFunctions Function 173 HiLink etermKeyMod Special 174 HiLink etermContext Keyword 175 HiLink etermOption Keyword 176 HiLink etermType Type 177 HiLink etermColorOptions Keyword 178 HiLink etermAttrOptions Keyword 179 HiLink etermIClassOptions Keyword 180 HiLink etermImageTypes Type 181 HiLink etermImageModes Type 182 HiLink etermImageModesAllow Keyword 183 HiLink etermImageOptions Keyword 184 HiLink etermMenuOptions Keyword 185 HiLink etermMenuItemOptions Keyword 186 HiLink etermActionDef Type 187 HiLink etermActionsOptions Keyword 188 HiLink etermButtonDef Type 189 HiLink etermButtonOptions Keyword 190 HiLink etermMultiOptions Keyword 191 HiLink etermXimOptions Keyword 192 HiLink etermTogOptions Keyword 193 HiLink etermKeyboardOptions Keyword 194 HiLink etermMiscOptions Keyword 195 delcommand HiLink 196endif 197 198let b:current_syntax = "eterm" 199 200" vim: set sts=2 sw=2: 201