2 " Language: Ratpoison configuration/commands file ( /etc/ratpoisonrc ~/.ratpoisonrc )
3 " Maintainer: Doug Kearns <djkea2@gus.gscit.monash.edu.au>
4 " URL: http://gus.gscit.monash.edu.au/~djkea2/vim/syntax/ratpoison.vim
5 " Last Change: 2005 Oct 06
7 " For version 5.x: Clear all syntax items
8 " For version 6.x: Quit when a syntax file was already loaded
11 elseif exists("b:current_syntax")
15 syn match ratpoisonComment "^\s*#.*$" contains=ratpoisonTodo
17 syn keyword ratpoisonTodo TODO NOTE FIXME XXX contained
20 syn keyword ratpoisonBooleanArg on off contained
23 syn keyword ratpoisonCommandArg abort addhook alias banish chdir contained
24 syn keyword ratpoisonCommandArg clrunmanaged cnext colon compat cother contained
25 syn keyword ratpoisonCommandArg cprev curframe dedicate definekey delete contained
26 syn keyword ratpoisonCommandArg delkmap describekey echo escape exec contained
27 syn keyword ratpoisonCommandArg fdump focus focusdown focuslast focusleft contained
28 syn keyword ratpoisonCommandArg focusprev focusright focusup frestore fselect contained
29 syn keyword ratpoisonCommandArg gdelete getenv getsel gmerge gmove contained
30 syn keyword ratpoisonCommandArg gnew gnewbg gnext gprev gravity contained
31 syn keyword ratpoisonCommandArg groups gselect help hsplit inext contained
32 syn keyword ratpoisonCommandArg info iother iprev kill lastmsg contained
33 syn keyword ratpoisonCommandArg license link listhook meta msgwait contained
34 syn keyword ratpoisonCommandArg newkmap newwm next nextscreen number contained
35 syn keyword ratpoisonCommandArg only other prev prevscreen prompt contained
36 syn keyword ratpoisonCommandArg putsel quit ratclick rathold ratrelwarp contained
37 syn keyword ratpoisonCommandArg ratwarp readkey redisplay redo remhook contained
38 syn keyword ratpoisonCommandArg remove resize restart rudeness sdump contained
39 syn keyword ratpoisonCommandArg select set setenv sfdump shrink contained
40 syn keyword ratpoisonCommandArg source sselect startup_message time title contained
41 syn keyword ratpoisonCommandArg tmpwm unalias undefinekey undo unmanage contained
42 syn keyword ratpoisonCommandArg unsetenv verbexec version vsplit warp contained
43 syn keyword ratpoisonCommandArg windows contained
45 syn match ratpoisonGravityArg "\<\(n\|north\)\>" contained
46 syn match ratpoisonGravityArg "\<\(nw\|northwest\)\>" contained
47 syn match ratpoisonGravityArg "\<\(ne\|northeast\)\>" contained
48 syn match ratpoisonGravityArg "\<\(w\|west\)\>" contained
49 syn match ratpoisonGravityArg "\<\(c\|center\)\>" contained
50 syn match ratpoisonGravityArg "\<\(e\|east\)\>" contained
51 syn match ratpoisonGravityArg "\<\(s\|south\)\>" contained
52 syn match ratpoisonGravityArg "\<\(sw\|southwest\)\>" contained
53 syn match ratpoisonGravityArg "\<\(se\|southeast\)\>" contained
56 syn match ratpoisonKeySeqArg "\<\([CMASH]\(-[CMASH]\)\{,4}-\)\=\(F[1-9][0-9]\=\|\(\a\|\d\)\)\>" contained nextgroup=ratpoisonCommandArg skipwhite
58 syn match ratpoisonKeySeqArg "\<\([CMASH]\(-[CMASH]\)\{,4}-\)\=\(space\|exclam\|quotedbl\)\>" contained nextgroup=ratpoisonCommandArg skipwhite
59 syn match ratpoisonKeySeqArg "\<\([CMASH]\(-[CMASH]\)\{,4}-\)\=\(numbersign\|dollar\|percent\|ampersand\)\>" contained nextgroup=ratpoisonCommandArg skipwhite
60 syn match ratpoisonKeySeqArg "\<\([CMASH]\(-[CMASH]\)\{,4}-\)\=\(apostrophe\|quoteright\|parenleft\)\>" contained nextgroup=ratpoisonCommandArg skipwhite
61 syn match ratpoisonKeySeqArg "\<\([CMASH]\(-[CMASH]\)\{,4}-\)\=\(parenright\|asterisk\|plus\|comma\)\>" contained nextgroup=ratpoisonCommandArg skipwhite
62 syn match ratpoisonKeySeqArg "\<\([CMASH]\(-[CMASH]\)\{,4}-\)\=\(minus\|period\|slash\|colon\|semicolon\)\>" contained nextgroup=ratpoisonCommandArg skipwhite
63 syn match ratpoisonKeySeqArg "\<\([CMASH]\(-[CMASH]\)\{,4}-\)\=\(less\|equal\|greater\|question\|at\)\>" contained nextgroup=ratpoisonCommandArg skipwhite
64 syn match ratpoisonKeySeqArg "\<\([CMASH]\(-[CMASH]\)\{,4}-\)\=\(bracketleft\|backslash\|bracketright\)\>" contained nextgroup=ratpoisonCommandArg skipwhite
65 syn match ratpoisonKeySeqArg "\<\([CMASH]\(-[CMASH]\)\{,4}-\)\=\(asciicircum\|underscore\|grave\)\>" contained nextgroup=ratpoisonCommandArg skipwhite
66 syn match ratpoisonKeySeqArg "\<\([CMASH]\(-[CMASH]\)\{,4}-\)\=\(quoteleft\|braceleft\|bar\|braceright\)\>" contained nextgroup=ratpoisonCommandArg skipwhite
67 syn match ratpoisonKeySeqArg "\<\([CMASH]\(-[CMASH]\)\{,4}-\)\=\(asciitilde\)\>" contained nextgroup=ratpoisonCommandArg skipwhite
69 syn match ratpoisonKeySeqArg "\<\([CMASH]\(-[CMASH]\)\{,4}-\)\=\(BackSpace\|Tab\|Linefeed\|Clear\)\>" contained nextgroup=ratpoisonCommandArg skipwhite
70 syn match ratpoisonKeySeqArg "\<\([CMASH]\(-[CMASH]\)\{,4}-\)\=\(Return\|Pause\|Scroll_Lock\)\>" contained nextgroup=ratpoisonCommandArg skipwhite
71 syn match ratpoisonKeySeqArg "\<\([CMASH]\(-[CMASH]\)\{,4}-\)\=\(Sys_Req\|Escape\|Delete\)\>" contained nextgroup=ratpoisonCommandArg skipwhite
73 syn match ratpoisonKeySeqArg "\<\([CMASH]\(-[CMASH]\)\{,4}-\)\=\(Home\|Left\|Up\|Right\|Down\|Prior\)\>" contained nextgroup=ratpoisonCommandArg skipwhite
74 syn match ratpoisonKeySeqArg "\<\([CMASH]\(-[CMASH]\)\{,4}-\)\=\(Page_Up\|Next\|Page_Down\|End\|Begin\)\>" contained nextgroup=ratpoisonCommandArg skipwhite
76 syn match ratpoisonKeySeqArg "\<\([CMASH]\(-[CMASH]\)\{,4}-\)\=\(Select\|Print\|Execute\|Insert\|Undo\)\>" contained nextgroup=ratpoisonCommandArg skipwhite
77 syn match ratpoisonKeySeqArg "\<\([CMASH]\(-[CMASH]\)\{,4}-\)\=\(Redo\|Menu\|Find\|Cancel\|Help\)\>" contained nextgroup=ratpoisonCommandArg skipwhite
78 syn match ratpoisonKeySeqArg "\<\([CMASH]\(-[CMASH]\)\{,4}-\)\=\(Break\|Mode_switch\|script_switch\|Num_Lock\)\>" contained nextgroup=ratpoisonCommandArg skipwhite
80 syn match ratpoisonKeySeqArg "\<\([CMASH]\(-[CMASH]\)\{,4}-\)\=KP_\(Space\|Tab\|Enter\|F[1234]\)\>" contained nextgroup=ratpoisonCommandArg skipwhite
81 syn match ratpoisonKeySeqArg "\<\([CMASH]\(-[CMASH]\)\{,4}-\)\=KP_\(Home\|Left\|Up\|Right\|Down\)\>" contained nextgroup=ratpoisonCommandArg skipwhite
82 syn match ratpoisonKeySeqArg "\<\([CMASH]\(-[CMASH]\)\{,4}-\)\=KP_\(Prior\|Page_Up\|Next\|Page_Down\)\>" contained nextgroup=ratpoisonCommandArg skipwhite
83 syn match ratpoisonKeySeqArg "\<\([CMASH]\(-[CMASH]\)\{,4}-\)\=KP_\(End\|Begin\|Insert\|Delete\)\>" contained nextgroup=ratpoisonCommandArg skipwhite
84 syn match ratpoisonKeySeqArg "\<\([CMASH]\(-[CMASH]\)\{,4}-\)\=KP_\(Equal\|Multiply\|Add\|Separator\)\>" contained nextgroup=ratpoisonCommandArg skipwhite
85 syn match ratpoisonKeySeqArg "\<\([CMASH]\(-[CMASH]\)\{,4}-\)\=KP_\(Subtract\|Decimal\|Divide\|\d\)\>" contained nextgroup=ratpoisonCommandArg skipwhite
87 syn match ratpoisonHookArg "\<\(key\|switchwin\|switchframe\|switchgroup\|quit\|restart\)\>" contained
89 syn match ratpoisonNumberArg "\<\d\+\>" contained nextgroup=ratpoisonNumberArg skipwhite
91 syn keyword ratpoisonSetArg barborder contained nextgroup=ratpoisonNumberArg
92 syn keyword ratpoisonSetArg bargravity contained nextgroup=ratpoisonGravityArg
93 syn keyword ratpoisonSetArg barpadding contained nextgroup=ratpoisonNumberArg
94 syn keyword ratpoisonSetArg bgcolor
95 syn keyword ratpoisonSetArg border contained nextgroup=ratpoisonNumberArg
96 syn keyword ratpoisonSetArg fgcolor
97 syn keyword ratpoisonSetArg font
98 syn keyword ratpoisonSetArg framesels
99 syn keyword ratpoisonSetArg inputwidth contained nextgroup=ratpoisonNumberArg
100 syn keyword ratpoisonSetArg maxsizegravity contained nextgroup=ratpoisonGravityArg
101 syn keyword ratpoisonSetArg padding contained nextgroup=ratpoisonNumberArg
102 syn keyword ratpoisonSetArg resizeunit contained nextgroup=ratpoisonNumberArg
103 syn keyword ratpoisonSetArg transgravity contained nextgroup=ratpoisonGravityArg
104 syn keyword ratpoisonSetArg waitcursor contained nextgroup=ratpoisonNumberArg
105 syn keyword ratpoisonSetArg winfmt contained nextgroup=ratpoisonWinFmtArg
106 syn keyword ratpoisonSetArg wingravity contained nextgroup=ratpoisonGravityArg
107 syn keyword ratpoisonSetArg winliststyle contained nextgroup=ratpoisonWinListArg
108 syn keyword ratpoisonSetArg winname contained nextgroup=ratpoisonWinNameArg
110 syn match ratpoisonWinFmtArg "%[nstacil]" contained nextgroup=ratpoisonWinFmtArg skipwhite
112 syn match ratpoisonWinListArg "\<\(row\|column\)\>" contained
114 syn match ratpoisonWinNameArg "\<\(name\|title\|class\)\>" contained
116 syn match ratpoisonDefCommand "^\s*set\s*" nextgroup=ratpoisonSetArg
117 syn match ratpoisonDefCommand "^\s*defbarborder\s*" nextgroup=ratpoisonNumberArg
118 syn match ratpoisonDefCommand "^\s*defbargravity\s*" nextgroup=ratpoisonGravityArg
119 syn match ratpoisonDefCommand "^\s*defbarpadding\s*" nextgroup=ratpoisonNumberArg
120 syn match ratpoisonDefCommand "^\s*defbgcolor\s*"
121 syn match ratpoisonDefCommand "^\s*defborder\s*" nextgroup=ratpoisonNumberArg
122 syn match ratpoisonDefCommand "^\s*deffgcolor\s*"
123 syn match ratpoisonDefCommand "^\s*deffont\s*"
124 syn match ratpoisonDefCommand "^\s*defframesels\s*"
125 syn match ratpoisonDefCommand "^\s*definputwidth\s*" nextgroup=ratpoisonNumberArg
126 syn match ratpoisonDefCommand "^\s*defmaxsizegravity\s*" nextgroup=ratpoisonGravityArg
127 syn match ratpoisonDefCommand "^\s*defpadding\s*" nextgroup=ratpoisonNumberArg
128 syn match ratpoisonDefCommand "^\s*defresizeunit\s*" nextgroup=ratpoisonNumberArg
129 syn match ratpoisonDefCommand "^\s*deftransgravity\s*" nextgroup=ratpoisonGravityArg
130 syn match ratpoisonDefCommand "^\s*defwaitcursor\s*" nextgroup=ratpoisonNumberArg
131 syn match ratpoisonDefCommand "^\s*defwinfmt\s*" nextgroup=ratpoisonWinFmtArg
132 syn match ratpoisonDefCommand "^\s*defwingravity\s*" nextgroup=ratpoisonGravityArg
133 syn match ratpoisonDefCommand "^\s*defwinliststyle\s*" nextgroup=ratpoisonWinListArg
134 syn match ratpoisonDefCommand "^\s*defwinname\s*" nextgroup=ratpoisonWinNameArg
135 syn match ratpoisonDefCommand "^\s*msgwait\s*" nextgroup=ratpoisonNumberArg
137 syn match ratpoisonStringCommand "^\s*\zsaddhook\ze\s*" nextgroup=ratpoisonHookArg
138 syn match ratpoisonStringCommand "^\s*\zsalias\ze\s*"
139 syn match ratpoisonStringCommand "^\s*\zsbind\ze\s*" nextgroup=ratpoisonKeySeqArg
140 syn match ratpoisonStringCommand "^\s*\zschdir\ze\s*"
141 syn match ratpoisonStringCommand "^\s*\zscolon\ze\s*" nextgroup=ratpoisonCommandArg
142 syn match ratpoisonStringCommand "^\s*\zsdedicate\ze\s*" nextgroup=ratpoisonNumberArg
143 syn match ratpoisonStringCommand "^\s*\zsdefinekey\ze\s*"
144 syn match ratpoisonStringCommand "^\s*\zsdelkmap\ze\s*"
145 syn match ratpoisonStringCommand "^\s*\zsdescribekey\ze\s*"
146 syn match ratpoisonStringCommand "^\s*\zsecho\ze\s*"
147 syn match ratpoisonStringCommand "^\s*\zsescape\ze\s*" nextgroup=ratpoisonKeySeqArg
148 syn match ratpoisonStringCommand "^\s*\zsexec\ze\s*"
149 syn match ratpoisonStringCommand "^\s*\zsfdump\ze\s*"
150 syn match ratpoisonStringCommand "^\s*\zsfrestore\ze\s*"
151 syn match ratpoisonStringCommand "^\s*\zsgdelete\ze\s*"
152 syn match ratpoisonStringCommand "^\s*\zsgetenv\ze\s*"
153 syn match ratpoisonStringCommand "^\s*\zsgravity\ze\s*" nextgroup=ratpoisonGravityArg
154 syn match ratpoisonStringCommand "^\s*\zsgselect\ze\s*"
155 syn match ratpoisonStringCommand "^\s*\zslink\ze\s*" nextgroup=ratpoisonKeySeqArg
156 syn match ratpoisonStringCommand "^\s*\zslisthook\ze\s*" nextgroup=ratpoisonHookArg
157 syn match ratpoisonStringCommand "^\s*\zsnewkmap\ze\s*"
158 syn match ratpoisonStringCommand "^\s*\zsnewwm\ze\s*"
159 syn match ratpoisonStringCommand "^\s*\zsnumber\ze\s*" nextgroup=ratpoisonNumberArg
160 syn match ratpoisonStringCommand "^\s*\zsprompt\ze\s*"
161 syn match ratpoisonStringCommand "^\s*\zsratwarp\ze\s*"
162 syn match ratpoisonStringCommand "^\s*\zsratrelwarp\ze\s*"
163 syn match ratpoisonStringCommand "^\s*\zsratclick\ze\s*"
164 syn match ratpoisonStringCommand "^\s*\zsrathold\ze\s*"
165 syn match ratpoisonStringCommand "^\s*\zsreadkey\ze\s*"
166 syn match ratpoisonStringCommand "^\s*\zsremhook\ze\s*" nextgroup=ratpoisonHookArg
167 syn match ratpoisonStringCommand "^\s*\zsresize\ze\s*" nextgroup=ratpoisonNumberArg
168 syn match ratpoisonStringCommand "^\s*\zsrudeness\ze\s*" nextgroup=ratpoisonNumberArg
169 syn match ratpoisonStringCommand "^\s*\zsselect\ze\s*" nextgroup=ratpoisonNumberArg
170 syn match ratpoisonStringCommand "^\s*\zssetenv\ze\s*"
171 syn match ratpoisonStringCommand "^\s*\zssource\ze\s*"
172 syn match ratpoisonStringCommand "^\s*\zssselect\ze\s*"
173 syn match ratpoisonStringCommand "^\s*\zsstartup_message\ze\s*" nextgroup=ratpoisonBooleanArg
174 syn match ratpoisonStringCommand "^\s*\zstitle\ze\s*"
175 syn match ratpoisonStringCommand "^\s*\zstmpwm\ze\s*"
176 syn match ratpoisonStringCommand "^\s*\zsunalias\ze\s*"
177 syn match ratpoisonStringCommand "^\s*\zsunbind\ze\s*" nextgroup=ratpoisonKeySeqArg
178 syn match ratpoisonStringCommand "^\s*\zsundefinekey\ze\s*"
179 syn match ratpoisonStringCommand "^\s*\zsunmanage\ze\s*"
180 syn match ratpoisonStringCommand "^\s*\zsunsetenv\ze\s*"
181 syn match ratpoisonStringCommand "^\s*\zsverbexec\ze\s*"
182 syn match ratpoisonStringCommand "^\s*\zswarp\ze\s*" nextgroup=ratpoisonBooleanArg
184 syn match ratpoisonVoidCommand "^\s*\zsabort\ze\s*$"
185 syn match ratpoisonVoidCommand "^\s*\zsbanish\ze\s*$"
186 syn match ratpoisonVoidCommand "^\s*\zsclrunmanaged\ze\s*$"
187 syn match ratpoisonVoidCommand "^\s*\zscnext\ze\s*$"
188 syn match ratpoisonVoidCommand "^\s*\zscompat\ze\s*$"
189 syn match ratpoisonVoidCommand "^\s*\zscother\ze\s*$"
190 syn match ratpoisonVoidCommand "^\s*\zscprev\ze\s*$"
191 syn match ratpoisonVoidCommand "^\s*\zscurframe\ze\s*$"
192 syn match ratpoisonVoidCommand "^\s*\zsdelete\ze\s*$"
193 syn match ratpoisonVoidCommand "^\s*\zsfocusdown\ze\s*$"
194 syn match ratpoisonVoidCommand "^\s*\zsfocuslast\ze\s*$"
195 syn match ratpoisonVoidCommand "^\s*\zsfocusleft\ze\s*$"
196 syn match ratpoisonVoidCommand "^\s*\zsfocusprev\ze\s*$"
197 syn match ratpoisonVoidCommand "^\s*\zsfocusright\ze\s*$"
198 syn match ratpoisonVoidCommand "^\s*\zsfocusup\ze\s*$"
199 syn match ratpoisonVoidCommand "^\s*\zsfocus\ze\s*$"
200 syn match ratpoisonVoidCommand "^\s*\zsfselect\ze\s*$"
201 syn match ratpoisonVoidCommand "^\s*\zsgetsel\ze\s*$"
202 syn match ratpoisonVoidCommand "^\s*\zsgmerge\ze\s*$"
203 syn match ratpoisonVoidCommand "^\s*\zsgmove\ze\s*$"
204 syn match ratpoisonVoidCommand "^\s*\zsgnewbg\ze\s*$"
205 syn match ratpoisonVoidCommand "^\s*\zsgnew\ze\s*$"
206 syn match ratpoisonVoidCommand "^\s*\zsgnext\ze\s*$"
207 syn match ratpoisonVoidCommand "^\s*\zsgprev\ze\s*$"
208 syn match ratpoisonVoidCommand "^\s*\zsgroups\ze\s*$"
209 syn match ratpoisonVoidCommand "^\s*\zshelp\ze\s*$"
210 syn match ratpoisonVoidCommand "^\s*\zshsplit\ze\s*$"
211 syn match ratpoisonVoidCommand "^\s*\zsinext\ze\s*$"
212 syn match ratpoisonVoidCommand "^\s*\zsinfo\ze\s*$"
213 syn match ratpoisonVoidCommand "^\s*\zsiother\ze\s*$"
214 syn match ratpoisonVoidCommand "^\s*\zsiprev\ze\s*$"
215 syn match ratpoisonVoidCommand "^\s*\zskill\ze\s*$"
216 syn match ratpoisonVoidCommand "^\s*\zslastmsg\ze\s*$"
217 syn match ratpoisonVoidCommand "^\s*\zslicense\ze\s*$"
218 syn match ratpoisonVoidCommand "^\s*\zsmeta\ze\s*$"
219 syn match ratpoisonVoidCommand "^\s*\zsnextscreen\ze\s*$"
220 syn match ratpoisonVoidCommand "^\s*\zsnext\ze\s*$"
221 syn match ratpoisonVoidCommand "^\s*\zsonly\ze\s*$"
222 syn match ratpoisonVoidCommand "^\s*\zsother\ze\s*$"
223 syn match ratpoisonVoidCommand "^\s*\zsprevscreen\ze\s*$"
224 syn match ratpoisonVoidCommand "^\s*\zsprev\ze\s*$"
225 syn match ratpoisonVoidCommand "^\s*\zsputsel\ze\s*$"
226 syn match ratpoisonVoidCommand "^\s*\zsquit\ze\s*$"
227 syn match ratpoisonVoidCommand "^\s*\zsredisplay\ze\s*$"
228 syn match ratpoisonVoidCommand "^\s*\zsredo\ze\s*$"
229 syn match ratpoisonVoidCommand "^\s*\zsremove\ze\s*$"
230 syn match ratpoisonVoidCommand "^\s*\zsrestart\ze\s*$"
231 syn match ratpoisonVoidCommand "^\s*\zssdump\ze\s*$"
232 syn match ratpoisonVoidCommand "^\s*\zssfdump\ze\s*$"
233 syn match ratpoisonVoidCommand "^\s*\zsshrink\ze\s*$"
234 syn match ratpoisonVoidCommand "^\s*\zssplit\ze\s*$"
235 syn match ratpoisonVoidCommand "^\s*\zstime\ze\s*$"
236 syn match ratpoisonVoidCommand "^\s*\zsundo\ze\s*$"
237 syn match ratpoisonVoidCommand "^\s*\zsversion\ze\s*$"
238 syn match ratpoisonVoidCommand "^\s*\zsvsplit\ze\s*$"
239 syn match ratpoisonVoidCommand "^\s*\zswindows\ze\s*$"
241 " Define the default highlighting.
242 " For version 5.7 and earlier: only when not done already
243 " For version 5.8 and later: only when an item doesn't have highlighting yet
244 if version >= 508 || !exists("did_ratpoison_syn_inits")
246 let did_ratpoison_syn_inits = 1
247 command -nargs=+ HiLink hi link <args>
249 command -nargs=+ HiLink hi def link <args>
252 HiLink ratpoisonBooleanArg Boolean
253 HiLink ratpoisonCommandArg Keyword
254 HiLink ratpoisonComment Comment
255 HiLink ratpoisonDefCommand Identifier
256 HiLink ratpoisonGravityArg Constant
257 HiLink ratpoisonKeySeqArg Special
258 HiLink ratpoisonNumberArg Number
259 HiLink ratpoisonSetArg Keyword
260 HiLink ratpoisonStringCommand Identifier
261 HiLink ratpoisonTodo Todo
262 HiLink ratpoisonVoidCommand Identifier
263 HiLink ratpoisonWinFmtArg Special
264 HiLink ratpoisonWinNameArg Constant
265 HiLink ratpoisonWinListArg Constant
270 let b:current_syntax = "ratpoison"