xref: /vim-8.2.3635/runtime/syntax/mrxvtrc.vim (revision 044b68f4)
1" Created	: Wed 26 Apr 2006 01:20:53 AM CDT
2" Modified	: Mon 20 Nov 2006 12:14:16 AM PST
3" Author	: Gautam Iyer <[email protected]>
4" Description	: Vim syntax file for mrxvtrc (for mrxvt-0.5.0 and up)
5
6" Quit when a syntax file was already loaded
7if exists("b:current_syntax")
8  finish
9endif
10
11syn case match
12
13" Errors
14syn match	mrxvtrcError	contained	'\v\S+'
15
16" Comments
17syn match	mrxvtrcComment	contains=@Spell '^\s*[!#].*$'
18syn match	mrxvtrcComment	'\v^\s*[#!]\s*\w+[.*]\w+.*:.*'
19
20"
21" Options.
22"
23syn match	mrxvtrcClass	'\v^\s*\w+[.*]'
24	    \ nextgroup=mrxvtrcOptions,mrxvtrcProfile,@mrxvtrcPOpts,mrxvtrcError
25
26" Boolean options
27syn keyword	mrxvtrcOptions	contained nextgroup=mrxvtrcBColon,mrxvtrcError
28				\ highlightTabOnBell syncTabTitle hideTabbar
29				\ autohideTabbar bottomTabbar hideButtons
30				\ syncTabIcon veryBoldFont maximized
31				\ fullscreen reverseVideo loginShell
32				\ jumpScroll scrollBar scrollbarRight
33				\ scrollbarFloating scrollTtyOutputInhibit
34				\ scrollTtyKeypress scrollWithBuffer
35				\ transparentForce transparentScrollbar
36				\ transparentMenubar transparentTabbar
37				\ tabUsePixmap utmpInhibit visualBell mapAlert
38				\ meta8 mouseWheelScrollPage multibyte_cursor
39				\ tripleclickwords showMenu xft xftNomFont
40				\ xftSlowOutput xftAntialias xftHinting
41				\ xftAutoHint xftGlobalAdvance cmdAllTabs
42				\ protectSecondary thai borderLess
43				\ overrideRedirect broadcast
44				\ smartResize smoothResize pointerBlank
45				\ cursorBlink noSysConfig disableMacros
46				\ linuxHomeEndKey sessionMgt
47syn match	mrxvtrcOptions	contained nextgroup=mrxvtrcBColon,mrxvtrcError
48				\ '\v<transparent>'
49syn match	mrxvtrcBColon	contained skipwhite
50				\ nextgroup=mrxvtrcBoolVal,mrxvtrcError ':'
51syn case ignore
52syn keyword	mrxvtrcBoolVal	contained skipwhite nextgroup=mrxvtrcError
53				\ 0 1 yes no on off true false
54syn case match
55
56" Color options
57syn keyword	mrxvtrcOptions	contained nextgroup=mrxvtrcCColon,mrxvtrcError
58				\ ufBackground textShadow tabForeground
59				\ itabForeground tabBackground itabBackground
60				\ scrollColor troughColor highlightColor
61				\ cursorColor cursorColor2 pointerColor
62				\ borderColor tintColor
63syn match	mrxvtrcOptions	contained nextgroup=mrxvtrcCColon,mrxvtrcError
64				\ '\v<color([0-9]|1[0-5]|BD|UL|RV)>'
65syn match	mrxvtrcCColon	contained skipwhite
66				\ nextgroup=mrxvtrcColorVal ':'
67syn match	mrxvtrcColorVal	contained skipwhite nextgroup=mrxvtrcError
68				\ '\v#[0-9a-fA-F]{6}'
69
70" Numeric options
71syn keyword	mrxvtrcOptions	contained nextgroup=mrxvtrcNColon,mrxvtrcError
72				\ maxTabWidth minVisibleTabs
73				\ scrollbarThickness xftmSize xftSize desktop
74				\ externalBorder internalBorder lineSpace
75				\ pointerBlankDelay cursorBlinkInterval
76				\ shading backgroundFade bgRefreshInterval
77				\ fading focusDelay opacity opacityDegree
78				\ xftPSize
79syn match	mrxvtrcNColon	contained skipwhite
80				\ nextgroup=mrxvtrcNumVal,mrxvtrcError ':'
81syn match	mrxvtrcNumVal	contained skipwhite nextgroup=mrxvtrcError
82				\ '\v[+-]?<(0[0-7]+|\d+|0x[0-9a-f]+)>'
83
84" String options
85syn keyword	mrxvtrcOptions	contained nextgroup=mrxvtrcSColon,mrxvtrcError
86				\ tabTitle termName title clientName iconName
87				\ bellCommand backspaceKey deleteKey
88				\ printPipe cutChars answerbackString
89				\ smClientID geometry path boldFont xftFont
90				\ xftmFont xftPFont inputMethod
91				\ greektoggle_key menu menubarPixmap
92				\ scrollbarPixmap tabbarPixmap appIcon
93				\ multichar_encoding initProfileList
94				\ winTitleFormat
95syn match	mrxvtrcOptions	contained nextgroup=mrxvtrcSColon,mrxvtrcError
96				\ '\v<m?font[1-5]?>'
97syn match	mrxvtrcSColon	contained skipwhite nextgroup=mrxvtrcStrVal ':'
98syn match	mrxvtrcStrVal	contained '\v\S.*'
99
100" Profile options
101syn cluster	mrxvtrcPOpts	contains=mrxvtrcPSOpts,mrxvtrcPCOpts,mrxvtrcPNOpts
102syn match	mrxvtrcProfile	contained nextgroup=@mrxvtrcPOpts,mrxvtrcError
103				\ '\vprofile\d+\.'
104syn keyword	mrxvtrcPSOpts	contained nextgroup=mrxvtrcSColon,mrxvtrcError
105				\ tabTitle command holdExitText holdExitTitle
106				\ Pixmap workingDirectory titleFormat
107syn keyword	mrxvtrcPCOpts	contained nextgroup=mrxvtrcCColon,mrxvtrcError
108				\ background foreground
109syn keyword	mrxvtrcPNOpts	contained nextgroup=mrxvtrcNColon,mrxvtrcError
110				\ holdExit saveLines
111
112" scrollbarStyle
113syn match	mrxvtrcOptions	contained skipwhite
114				\ nextgroup=mrxvtrcSBstyle,mrxvtrcError
115				\ '\v<scrollbarStyle:'
116syn keyword	mrxvtrcSBstyle	contained skipwhite nextgroup=mrxvtrcError
117				\ plain xterm rxvt next sgi
118
119" scrollbarAlign
120syn match	mrxvtrcOptions	contained skipwhite
121				\ nextgroup=mrxvtrcSBalign,mrxvtrcError
122				\ '\v<scrollbarAlign:'
123syn keyword	mrxvtrcSBalign	contained skipwhite nextgroup=mrxvtrcError
124				\ top bottom
125
126" textShadowMode
127syn match	mrxvtrcOptions	contained skipwhite
128				\ nextgroup=mrxvtrcTSmode,mrxvtrcError
129				\ '\v<textShadowMode:'
130syn keyword	mrxvtrcTSmode	contained skipwhite nextgroup=mrxvtrcError
131				\ none top bottom left right topleft topright
132				\ botleft botright
133
134" greek_keyboard
135syn match	mrxvtrcOptions	contained skipwhite
136				\ nextgroup=mrxvtrcGrkKbd,mrxvtrcError
137				\ '\v<greek_keyboard:'
138syn keyword	mrxvtrcGrkKbd	contained skipwhite nextgroup=mrxvtrcError
139				\ iso ibm
140
141" xftWeight
142syn match	mrxvtrcOptions	contained skipwhite
143				\ nextgroup=mrxvtrcXftWt,mrxvtrcError
144				\ '\v<(xftWeight|xftBoldWeight):'
145syn keyword	mrxvtrcXftWt	contained skipwhite nextgroup=mrxvtrcError
146				\ light medium demibold bold black
147
148" xftSlant
149syn match	mrxvtrcOptions	contained skipwhite
150				\ nextgroup=mrxvtrcXftSl,mrxvtrcError
151				\ '\v<xftSlant:'
152syn keyword	mrxvtrcXftSl	contained skipwhite nextgroup=mrxvtrcError
153				\ roman italic oblique
154
155" xftWidth
156syn match	mrxvtrcOptions	contained skipwhite
157				\ nextgroup=mrxvtrcXftWd,mrxvtrcError
158				\ '\v<xftWidth:'
159syn keyword	mrxvtrcXftWd	contained skipwhite nextgroup=mrxvtrcError
160				\ ultracondensed ultraexpanded
161				\ condensed expanded normal
162
163" xftRGBA
164syn match	mrxvtrcOptions	contained skipwhite
165				\ nextgroup=mrxvtrcXftHt,mrxvtrcError
166				\ '\v<xftRGBA:'
167syn keyword	mrxvtrcXftHt	contained skipwhite nextgroup=mrxvtrcError
168				\ rgb bgr vrgb vbgr none
169
170" preeditType
171syn match	mrxvtrcOptions	contained skipwhite
172				\ nextgroup=mrxvtrcPedit,mrxvtrcError
173				\ '\v<preeditType:'
174syn keyword	mrxvtrcPedit	contained skipwhite nextgroup=mrxvtrcError
175				\ OverTheSpot OffTheSpot Root
176
177" modifier
178syn match	mrxvtrcOptions	contained skipwhite
179				\ nextgroup=mrxvtrcMod,mrxvtrcError
180				\ '\v<modifier:'
181syn keyword	mrxvtrcMod	contained skipwhite nextgroup=mrxvtrcError
182				\ alt meta hyper super mod1 mod2 mod3 mod4 mod5
183
184" selectStyle
185syn match	mrxvtrcOptions	contained skipwhite
186				\ nextgroup=mrxvtrcSelSty,mrxvtrcError
187				\ '\v<selectStyle:'
188syn keyword	mrxvtrcSelSty	contained skipwhite nextgroup=mrxvtrcError
189				\ old oldword
190
191
192"
193" Macros
194"
195syn keyword	mrxvtrcOptions	contained nextgroup=mrxvtrcKey,mrxvtrcError
196				\ macro
197syn case ignore
198syn match	mrxvtrcKey	contained skipwhite
199			    \ nextgroup=mrxvtrcMacro,mrxvtrcError
200			    \ '\v\.((primary|add|ctrl|alt|meta|shift)\+)*\w+:'
201syn case match
202
203" Macros without arguments
204syn keyword	mrxvtrcMacro	contained skipwhite nextgroup=mrxvtrcError
205				\ Dummy Copy Paste ToggleVeryBold
206				\ ToggleTransparency ToggleBroadcast
207				\ ToggleHold SetTitle ToggleMacros
208				\ ToggleFullscreen
209
210" Macros with a string argument
211syn keyword	mrxvtrcMacro	contained skipwhite nextgroup=mrxvtrcStrVal
212				\ Esc Str Exec Scroll PrintScreen SaveConfig
213
214" Macros with a numeric argument
215syn keyword	mrxvtrcMacro	contained skipwhite
216				\ nextgroup=mrxvtrcNumVal,mrxvtrcError
217				\ Close GotoTab MoveTab ResizeFont
218
219" NewTab macro
220syn keyword	mrxvtrcMacro	contained skipwhite
221				\ nextgroup=mrxvtrcTitle,mrxvtrcShell,mrxvtrcCmd
222				\ NewTab
223syn region	mrxvtrcTitle	contained oneline skipwhite
224				\ nextgroup=mrxvtrcShell,mrxvtrcCmd
225				\ start='"' end='"'
226syn match	mrxvtrcShell	contained nextgroup=mrxvtrcCmd '!'
227syn match	mrxvtrcCmd	contained '\v[^!" \t].*'
228
229" ToggleSubwin macro
230syn keyword	mrxvtrcMacro	contained skipwhite
231				\ nextgroup=mrxvtrcSubwin,mrxvtrcError
232				\ ToggleSubwin
233syn match	mrxvtrcSubwin	contained skipwhite nextgroup=mrxvtrcError
234				\ '\v[-+]?[bmst]>'
235
236"
237" Highlighting groups
238"
239hi def link mrxvtrcError	Error
240hi def link mrxvtrcComment	Comment
241
242hi def link mrxvtrcClass	Statement
243hi def link mrxvtrcOptions	mrxvtrcClass
244hi def link mrxvtrcBColon	mrxvtrcClass
245hi def link mrxvtrcCColon	mrxvtrcClass
246hi def link mrxvtrcNColon	mrxvtrcClass
247hi def link mrxvtrcSColon	mrxvtrcClass
248hi def link mrxvtrcProfile	mrxvtrcClass
249hi def link mrxvtrcPSOpts	mrxvtrcClass
250hi def link mrxvtrcPCOpts	mrxvtrcClass
251hi def link mrxvtrcPNOpts	mrxvtrcClass
252
253hi def link mrxvtrcBoolVal	Boolean
254hi def link mrxvtrcStrVal	String
255hi def link mrxvtrcColorVal	Constant
256hi def link mrxvtrcNumVal	Number
257
258hi def link mrxvtrcSBstyle	mrxvtrcStrVal
259hi def link mrxvtrcSBalign	mrxvtrcStrVal
260hi def link mrxvtrcTSmode	mrxvtrcStrVal
261hi def link mrxvtrcGrkKbd	mrxvtrcStrVal
262hi def link mrxvtrcXftWt	mrxvtrcStrVal
263hi def link mrxvtrcXftSl	mrxvtrcStrVal
264hi def link mrxvtrcXftWd	mrxvtrcStrVal
265hi def link mrxvtrcXftHt	mrxvtrcStrVal
266hi def link mrxvtrcPedit	mrxvtrcStrVal
267hi def link mrxvtrcMod		mrxvtrcStrVal
268hi def link mrxvtrcSelSty	mrxvtrcStrVal
269
270hi def link mrxvtrcMacro	Identifier
271hi def link mrxvtrcKey		mrxvtrcClass
272hi def link mrxvtrcTitle	mrxvtrcStrVal
273hi def link mrxvtrcShell	Special
274hi def link mrxvtrcCmd		PreProc
275hi def link mrxvtrcSubwin	mrxvtrcStrVal
276
277let b:current_syntax = "mrxvtrc"
278