7
|
1 " Vim syntax file
|
|
2 " Language: Eterm configuration file
|
|
3 " Maintainer: Nikolai Weibull <source@pcppopper.org>
|
|
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
|
|
8 if version < 600
|
|
9 syntax clear
|
|
10 elseif exists("b:current_syntax")
|
|
11 finish
|
|
12 endif
|
|
13
|
|
14 " magic number
|
|
15 syn match etermMagic display "^<Eterm-[0-9.]\+>$"
|
|
16
|
|
17 " comments
|
|
18 syn region etermComment matchgroup=etermComment start="^#" end="$" contains=etermTodo
|
|
19
|
|
20 " todo
|
|
21 syn keyword etermTodo contained TODO FIXME XXX NOTE
|
|
22
|
|
23 " numbers
|
|
24 syn match etermNumber contained display "\<\(\d\+\|0x\x\{1,2}\)\>"
|
|
25
|
|
26 " strings
|
|
27 syn region etermString contained display oneline start=+"+ skip=+\\"+ end=+"+
|
|
28
|
|
29 " booleans
|
|
30 syn keyword etermBoolean contained on off true false yes no
|
|
31
|
|
32 " colors (not pretty, but can't figure out better way...)
|
|
33 syn match etermColor contained display "\s\+#\x\{6}\>"
|
|
34 syn keyword etermColor contained white black
|
|
35
|
|
36 " preproc
|
|
37 syn match etermPreProc contained "%\(appname\|exec\|get\|put\|random\|version\|include\|preproc\)("he=e-1
|
|
38
|
|
39 " functions
|
|
40 syn match etermFunctions contained "\<\(copy\|exit\|kill\|nop\|paste\|save\|scroll\|search\|spawn\)("
|
|
41
|
|
42 " and make it easy to refer to the above...
|
|
43 syn cluster etermGeneral contains=etermComment,etermNumber,etermString,etermBoolean,etermColor,etermFunction,etermPreProc
|
|
44
|
|
45 " key modifiers
|
|
46 syn keyword etermKeyMod contained ctrl shift lock mod1 mod2 mod3 mod4 mod5 alt meta anymod
|
|
47 syn keyword etermKeyMod contained button1 button2 button3 button4 button5
|
|
48
|
|
49 " color context
|
|
50 syn region etermColorOptions contained oneline matchgroup=etermOption start="^\s*video\>" matchgroup=etermType end="\<\(normal\|reverse\)\>"
|
|
51 syn region etermColorOptions contained oneline matchgroup=etermOption start="^\s*color\>" matchgroup=etermType end="\<\(bd\|ul\|[0-9]\|1[0-5]\)\>"
|
|
52 syn keyword etermColorOptions contained foreground background cursor cursor_text pointer
|
|
53
|
|
54 syn region etermColorContext fold transparent matchgroup=etermContext start="^\s*begin\s\+color\s*$" end="^\s*end\>\(\s\+.\{-0,}\)\=$" contains=@etermGeneral,etermColorOptions
|
|
55
|
|
56 " attributes context
|
|
57 syn region etermAttrOptions contained oneline matchgroup=etermOption start="^\s*geometry\>" matchgroup=etermType end="\<\d\+x\d\++\d\++\d\+\>"
|
|
58 syn region etermAttrOptions contained oneline matchgroup=etermOption start="^\s*scrollbar_type\>" matchgroup=etermType end="\<\(motif\|xterm\|next\)\>"
|
|
59 syn region etermAttrOptions contained oneline matchgroup=etermOption start="^\s*font\>" matchgroup=etermType end="\<\(bold\|default\|proportional\|fx\|[0-5]\)\>"
|
|
60 syn keyword etermAttrOptions contained title name iconname desktop scrollbar_width
|
|
61
|
|
62 syn 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
|
|
66 syn keyword etermImageTypes contained background trough anchor up_arrow
|
|
67 syn keyword etermImageTypes contained left_arrow right_arrow menu menuitem
|
|
68 syn keyword etermImageTypes contained submenu button buttonbar down_arrow
|
|
69 syn region etermImageOptions contained transparent oneline matchgroup=etermOption start="^\s*type\>" end="$" contains=etermImageTypes
|
|
70 " image modes
|
|
71 syn keyword etermImageModes contained image trans viewport auto solid
|
|
72 syn keyword etermImageModesAllow contained allow
|
|
73 syn region etermImageOptions contained transparent oneline matchgroup=etermOption start="^\s*mode\>" end="$" contains=etermImageModes,etermImageModesAllow
|
|
74 " image states
|
|
75 syn region etermImageOptions contained transparent oneline matchgroup=etermOption start="^\s*state\>" matchgroup=etermType end="\<\(normal\|selected\|clicked\|disabled\)\>"
|
|
76 " image geometry
|
|
77 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\=\)\="
|
|
78 " image color modification
|
|
79 syn region etermImageOptions contained transparent oneline matchgroup=etermOption start="^\s*\(cmod\|colormod\)\>" matchgroup=etermType end="\<\(image\|red\|green\|blue\)\>"
|
|
80 " other keywords
|
|
81 syn keyword etermImageOptions contained file padding border bevel color
|
|
82
|
|
83 syn 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
|
|
86 syn keyword etermIClassOptions contained icon cache path anim
|
|
87
|
|
88 syn 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
|
|
91 syn region etermMenuItemOptions contained transparent oneline matchgroup=etermOption start="^\s*action\>" matchgroup=etermType end="\<string\|echo\|submenu\|script\|separator\>"
|
|
92 syn keyword etermMenuItemOptions contained text rtext
|
|
93
|
|
94 syn 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...)
|
|
97 syn keyword etermMenuOptions contained title font_name sep
|
|
98
|
|
99 syn 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
|
|
102 syn match etermActionDef contained "\<\(to\|string\|echo\|menu\|script\)\>"
|
|
103 syn region etermActionsOptions contained transparent oneline matchgroup=etermOption start="^\s*bind\>" end="$" contains=etermActionDef,etermKeyMod
|
|
104
|
|
105 syn 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
|
|
108 syn match etermButtonDef contained "\<\(action\|string\|echo\|menu\|scrupt\)\>"
|
|
109 syn region etermButtonOptions contained transparent oneline matchgroup=etermOption start="^\s*button\>" end="$" contains=etermButtonDef
|
|
110 syn keyword etermButtonOptions contained font visible dock
|
|
111
|
|
112 syn 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
|
|
115 syn keyword etermMultiOptions contained encoding font
|
|
116
|
|
117 syn region etermMultiContext fold transparent matchgroup=etermContext start="^\s*begin\s\+multichar\s*$" end="^\s*end\>\(\s\+.\{-0,}\)\=$" contains=@etermGeneral,etermMultiOptions
|
|
118
|
|
119 " xim context
|
|
120 syn keyword etermXimOptions contained input_method preedit_type
|
|
121
|
|
122 syn region etermXimContext fold transparent matchgroup=etermContext start="^\s*begin\s\+xim\s*$" end="^\s*end\>\(\s\+.\{-0,}\)\=$" contains=@etermGeneral,etermXimOptions
|
|
123
|
|
124 " toggles context
|
|
125 syn keyword etermTogOptions contained map_alert visual_bell login_shell scrollbar utmp_logging meta8 iconic no_input
|
|
126 syn keyword etermTogOptions contained home_on_output home_on_input scrollbar_floating scrollbar_right scrollbar_popup
|
|
127 syn keyword etermTogOptions contained borderless double_buffer no_cursor pause xterm_select select_line
|
|
128 syn keyword etermTogOptions contained select_trailing_spaces report_as_keysyms itrans immotile_trans buttonbar
|
|
129 syn keyword etermTogOptions contained resize_gravity
|
|
130
|
|
131 syn region etermTogContext fold transparent matchgroup=etermContext start="^\s*begin\s\+toggles\s*$" end="^\s*end\>\(\s\+.\{-0,}\)\=$" contains=@etermGeneral,etermTogOptions
|
|
132
|
|
133 " keyboard context
|
|
134 syn keyword etermKeyboardOptions contained smallfont_key bigfont_key keysym meta_mod alt_mod
|
|
135 syn keyword etermKeyboardOptions contained greek numlock_mod app_keypad app_cursor
|
|
136
|
|
137 syn region etermKeyboardContext fold transparent matchgroup=etermContext start="^\s*begin\s\+keyboard\s*$" end="^\s*end\>\(\s\+.\{-0,}\)\=$" contains=@etermGeneral,etermKeyboardOptions
|
|
138
|
|
139 " misc context
|
|
140 syn keyword etermMiscOptions contained print_pipe save_lines cut_chars min_anchor_size
|
|
141 syn keyword etermMiscOptions contained border_width line_space finished_title term_name
|
|
142 syn keyword etermMiscOptions contained finished_text exec
|
|
143
|
|
144 syn region etermMiscContext fold transparent matchgroup=etermContext start="^\s*begin\s\+misc\s*$" end="^\s*end\>\(\s\+.\{-0,}\)\=$" contains=@etermGeneral,etermMiscOptions
|
|
145
|
|
146 if exists("eterm_minlines")
|
|
147 let b:eterm_minlines = eterm_minlines
|
|
148 else
|
|
149 let b:eterm_minlines = 30
|
|
150 endif
|
|
151 exec "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
|
|
156 if 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
|
|
196 endif
|
|
197
|
|
198 let b:current_syntax = "eterm"
|
|
199
|
|
200 " vim: set sts=2 sw=2:
|