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