blob: 2ef434d2b2331b8aa733553bc51bee5bdc659828 [file] [log] [blame]
Bram Moolenaarc81e5e72007-05-05 18:24:42 +00001" Description : Vim syntax file for mrxvtrc (for mrxvt-0.5.0 and up)
Bram Moolenaarb8ff1fb2012-02-04 21:59:01 +01002" Created : Wed 26 Apr 2006 01:20:53 AM CDT
3" Modified : Thu 02 Feb 2012 08:37:45 PM EST
4" Maintainer : GI <a@b.c>, where a='gi1242+vim', b='gmail', c='com'
Bram Moolenaar437df8f2006-04-27 21:47:44 +00005
6" Quit when a syntax file was already loaded
7if exists("b:current_syntax")
8 finish
9endif
10
Bram Moolenaarb8ff1fb2012-02-04 21:59:01 +010011let s:cpo_save = &cpo
12set cpo&vim
13
Bram Moolenaar437df8f2006-04-27 21:47:44 +000014syn case match
15
Bram Moolenaarc81e5e72007-05-05 18:24:42 +000016" Errors
17syn match mrxvtrcError contained '\v\S+'
18
19" Comments
20syn match mrxvtrcComment contains=@Spell '^\s*[!#].*$'
21syn match mrxvtrcComment '\v^\s*[#!]\s*\w+[.*]\w+.*:.*'
Bram Moolenaar437df8f2006-04-27 21:47:44 +000022
23"
Bram Moolenaarc81e5e72007-05-05 18:24:42 +000024" Options.
Bram Moolenaar437df8f2006-04-27 21:47:44 +000025"
Bram Moolenaarc81e5e72007-05-05 18:24:42 +000026syn match mrxvtrcClass '\v^\s*\w+[.*]'
27 \ nextgroup=mrxvtrcOptions,mrxvtrcProfile,@mrxvtrcPOpts,mrxvtrcError
Bram Moolenaar437df8f2006-04-27 21:47:44 +000028
Bram Moolenaarc81e5e72007-05-05 18:24:42 +000029" Boolean options
30syn keyword mrxvtrcOptions contained nextgroup=mrxvtrcBColon,mrxvtrcError
31 \ highlightTabOnBell syncTabTitle hideTabbar
32 \ autohideTabbar bottomTabbar hideButtons
33 \ syncTabIcon veryBoldFont maximized
34 \ fullscreen reverseVideo loginShell
35 \ jumpScroll scrollBar scrollbarRight
36 \ scrollbarFloating scrollTtyOutputInhibit
Bram Moolenaar8c8de832008-06-24 22:58:06 +000037 \ scrollTtyKeypress transparentForce
38 \ transparentScrollbar transparentMenubar
39 \ transparentTabbar tabUsePixmap utmpInhibit
40 \ visualBell mapAlert meta8
41 \ mouseWheelScrollPage multibyte_cursor
Bram Moolenaarc81e5e72007-05-05 18:24:42 +000042 \ tripleclickwords showMenu xft xftNomFont
43 \ xftSlowOutput xftAntialias xftHinting
44 \ xftAutoHint xftGlobalAdvance cmdAllTabs
45 \ protectSecondary thai borderLess
Bram Moolenaar8c8de832008-06-24 22:58:06 +000046 \ overrideRedirect broadcast smartResize
47 \ pointerBlank cursorBlink noSysConfig
48 \ disableMacros linuxHomeEndKey sessionMgt
49 \ boldColors smoothResize useFifo veryBright
Bram Moolenaarc81e5e72007-05-05 18:24:42 +000050syn match mrxvtrcOptions contained nextgroup=mrxvtrcBColon,mrxvtrcError
51 \ '\v<transparent>'
52syn match mrxvtrcBColon contained skipwhite
53 \ nextgroup=mrxvtrcBoolVal,mrxvtrcError ':'
Bram Moolenaar437df8f2006-04-27 21:47:44 +000054syn case ignore
Bram Moolenaarc81e5e72007-05-05 18:24:42 +000055syn keyword mrxvtrcBoolVal contained skipwhite nextgroup=mrxvtrcError
56 \ 0 1 yes no on off true false
Bram Moolenaar437df8f2006-04-27 21:47:44 +000057syn case match
58
Bram Moolenaarc81e5e72007-05-05 18:24:42 +000059" Color options
60syn keyword mrxvtrcOptions contained nextgroup=mrxvtrcCColon,mrxvtrcError
61 \ ufBackground textShadow tabForeground
62 \ itabForeground tabBackground itabBackground
63 \ scrollColor troughColor highlightColor
64 \ cursorColor cursorColor2 pointerColor
65 \ borderColor tintColor
66syn match mrxvtrcOptions contained nextgroup=mrxvtrcCColon,mrxvtrcError
67 \ '\v<color([0-9]|1[0-5]|BD|UL|RV)>'
68syn match mrxvtrcCColon contained skipwhite
69 \ nextgroup=mrxvtrcColorVal ':'
70syn match mrxvtrcColorVal contained skipwhite nextgroup=mrxvtrcError
71 \ '\v#[0-9a-fA-F]{6}'
Bram Moolenaar437df8f2006-04-27 21:47:44 +000072
Bram Moolenaarc81e5e72007-05-05 18:24:42 +000073" Numeric options
74syn keyword mrxvtrcOptions contained nextgroup=mrxvtrcNColon,mrxvtrcError
75 \ maxTabWidth minVisibleTabs
76 \ scrollbarThickness xftmSize xftSize desktop
77 \ externalBorder internalBorder lineSpace
78 \ pointerBlankDelay cursorBlinkInterval
79 \ shading backgroundFade bgRefreshInterval
Bram Moolenaar8c8de832008-06-24 22:58:06 +000080 \ fading opacity opacityDegree xftPSize
Bram Moolenaarc81e5e72007-05-05 18:24:42 +000081syn match mrxvtrcNColon contained skipwhite
82 \ nextgroup=mrxvtrcNumVal,mrxvtrcError ':'
83syn match mrxvtrcNumVal contained skipwhite nextgroup=mrxvtrcError
84 \ '\v[+-]?<(0[0-7]+|\d+|0x[0-9a-f]+)>'
Bram Moolenaar437df8f2006-04-27 21:47:44 +000085
Bram Moolenaarc81e5e72007-05-05 18:24:42 +000086" String options
87syn keyword mrxvtrcOptions contained nextgroup=mrxvtrcSColon,mrxvtrcError
88 \ tabTitle termName title clientName iconName
89 \ bellCommand backspaceKey deleteKey
90 \ printPipe cutChars answerbackString
91 \ smClientID geometry path boldFont xftFont
92 \ xftmFont xftPFont inputMethod
93 \ greektoggle_key menu menubarPixmap
94 \ scrollbarPixmap tabbarPixmap appIcon
95 \ multichar_encoding initProfileList
Bram Moolenaarc81e5e72007-05-05 18:24:42 +000096syn match mrxvtrcOptions contained nextgroup=mrxvtrcSColon,mrxvtrcError
97 \ '\v<m?font[1-5]?>'
98syn match mrxvtrcSColon contained skipwhite nextgroup=mrxvtrcStrVal ':'
99syn match mrxvtrcStrVal contained '\v\S.*'
100
101" Profile options
102syn cluster mrxvtrcPOpts contains=mrxvtrcPSOpts,mrxvtrcPCOpts,mrxvtrcPNOpts
103syn match mrxvtrcProfile contained nextgroup=@mrxvtrcPOpts,mrxvtrcError
104 \ '\vprofile\d+\.'
105syn keyword mrxvtrcPSOpts contained nextgroup=mrxvtrcSColon,mrxvtrcError
106 \ tabTitle command holdExitText holdExitTitle
107 \ Pixmap workingDirectory titleFormat
Bram Moolenaar8c8de832008-06-24 22:58:06 +0000108 \ winTitleFormat
Bram Moolenaarc81e5e72007-05-05 18:24:42 +0000109syn keyword mrxvtrcPCOpts contained nextgroup=mrxvtrcCColon,mrxvtrcError
110 \ background foreground
111syn keyword mrxvtrcPNOpts contained nextgroup=mrxvtrcNColon,mrxvtrcError
112 \ holdExit saveLines
113
114" scrollbarStyle
115syn match mrxvtrcOptions contained skipwhite
116 \ nextgroup=mrxvtrcSBstyle,mrxvtrcError
117 \ '\v<scrollbarStyle:'
118syn keyword mrxvtrcSBstyle contained skipwhite nextgroup=mrxvtrcError
119 \ plain xterm rxvt next sgi
120
121" scrollbarAlign
122syn match mrxvtrcOptions contained skipwhite
123 \ nextgroup=mrxvtrcSBalign,mrxvtrcError
124 \ '\v<scrollbarAlign:'
125syn keyword mrxvtrcSBalign contained skipwhite nextgroup=mrxvtrcError
126 \ top bottom
127
128" textShadowMode
129syn match mrxvtrcOptions contained skipwhite
130 \ nextgroup=mrxvtrcTSmode,mrxvtrcError
131 \ '\v<textShadowMode:'
132syn keyword mrxvtrcTSmode contained skipwhite nextgroup=mrxvtrcError
Bram Moolenaar437df8f2006-04-27 21:47:44 +0000133 \ none top bottom left right topleft topright
134 \ botleft botright
135
Bram Moolenaarc81e5e72007-05-05 18:24:42 +0000136" greek_keyboard
137syn match mrxvtrcOptions contained skipwhite
138 \ nextgroup=mrxvtrcGrkKbd,mrxvtrcError
139 \ '\v<greek_keyboard:'
140syn keyword mrxvtrcGrkKbd contained skipwhite nextgroup=mrxvtrcError
141 \ iso ibm
Bram Moolenaar437df8f2006-04-27 21:47:44 +0000142
Bram Moolenaarc81e5e72007-05-05 18:24:42 +0000143" xftWeight
144syn match mrxvtrcOptions contained skipwhite
145 \ nextgroup=mrxvtrcXftWt,mrxvtrcError
146 \ '\v<(xftWeight|xftBoldWeight):'
147syn keyword mrxvtrcXftWt contained skipwhite nextgroup=mrxvtrcError
148 \ light medium demibold bold black
Bram Moolenaar437df8f2006-04-27 21:47:44 +0000149
Bram Moolenaarc81e5e72007-05-05 18:24:42 +0000150" xftSlant
151syn match mrxvtrcOptions contained skipwhite
152 \ nextgroup=mrxvtrcXftSl,mrxvtrcError
153 \ '\v<xftSlant:'
154syn keyword mrxvtrcXftSl contained skipwhite nextgroup=mrxvtrcError
155 \ roman italic oblique
Bram Moolenaar437df8f2006-04-27 21:47:44 +0000156
Bram Moolenaarc81e5e72007-05-05 18:24:42 +0000157" xftWidth
158syn match mrxvtrcOptions contained skipwhite
159 \ nextgroup=mrxvtrcXftWd,mrxvtrcError
160 \ '\v<xftWidth:'
161syn keyword mrxvtrcXftWd contained skipwhite nextgroup=mrxvtrcError
Bram Moolenaar437df8f2006-04-27 21:47:44 +0000162 \ ultracondensed ultraexpanded
163 \ condensed expanded normal
164
Bram Moolenaarc81e5e72007-05-05 18:24:42 +0000165" xftRGBA
166syn match mrxvtrcOptions contained skipwhite
167 \ nextgroup=mrxvtrcXftHt,mrxvtrcError
168 \ '\v<xftRGBA:'
169syn keyword mrxvtrcXftHt contained skipwhite nextgroup=mrxvtrcError
170 \ rgb bgr vrgb vbgr none
Bram Moolenaar437df8f2006-04-27 21:47:44 +0000171
Bram Moolenaarc81e5e72007-05-05 18:24:42 +0000172" preeditType
173syn match mrxvtrcOptions contained skipwhite
174 \ nextgroup=mrxvtrcPedit,mrxvtrcError
175 \ '\v<preeditType:'
176syn keyword mrxvtrcPedit contained skipwhite nextgroup=mrxvtrcError
177 \ OverTheSpot OffTheSpot Root
Bram Moolenaar437df8f2006-04-27 21:47:44 +0000178
Bram Moolenaarc81e5e72007-05-05 18:24:42 +0000179" modifier
180syn match mrxvtrcOptions contained skipwhite
181 \ nextgroup=mrxvtrcMod,mrxvtrcError
182 \ '\v<modifier:'
183syn keyword mrxvtrcMod contained skipwhite nextgroup=mrxvtrcError
Bram Moolenaar437df8f2006-04-27 21:47:44 +0000184 \ alt meta hyper super mod1 mod2 mod3 mod4 mod5
185
Bram Moolenaarc81e5e72007-05-05 18:24:42 +0000186" selectStyle
187syn match mrxvtrcOptions contained skipwhite
188 \ nextgroup=mrxvtrcSelSty,mrxvtrcError
189 \ '\v<selectStyle:'
190syn keyword mrxvtrcSelSty contained skipwhite nextgroup=mrxvtrcError
191 \ old oldword
Bram Moolenaar437df8f2006-04-27 21:47:44 +0000192
193
194"
195" Macros
196"
Bram Moolenaarc81e5e72007-05-05 18:24:42 +0000197syn keyword mrxvtrcOptions contained nextgroup=mrxvtrcKey,mrxvtrcError
198 \ macro
199syn case ignore
200syn match mrxvtrcKey contained skipwhite
201 \ nextgroup=mrxvtrcMacro,mrxvtrcError
202 \ '\v\.((primary|add|ctrl|alt|meta|shift)\+)*\w+:'
203syn case match
Bram Moolenaar437df8f2006-04-27 21:47:44 +0000204
Bram Moolenaarc81e5e72007-05-05 18:24:42 +0000205" Macros without arguments
206syn keyword mrxvtrcMacro contained skipwhite nextgroup=mrxvtrcError
207 \ Dummy Copy Paste ToggleVeryBold
208 \ ToggleTransparency ToggleBroadcast
209 \ ToggleHold SetTitle ToggleMacros
Bram Moolenaar8c8de832008-06-24 22:58:06 +0000210 \ ToggleFullscreen Raise
Bram Moolenaar437df8f2006-04-27 21:47:44 +0000211
Bram Moolenaarc81e5e72007-05-05 18:24:42 +0000212" Macros with a string argument
213syn keyword mrxvtrcMacro contained skipwhite nextgroup=mrxvtrcStrVal
214 \ Esc Str Exec Scroll PrintScreen SaveConfig
215
216" Macros with a numeric argument
217syn keyword mrxvtrcMacro contained skipwhite
218 \ nextgroup=mrxvtrcNumVal,mrxvtrcError
Bram Moolenaar8c8de832008-06-24 22:58:06 +0000219 \ Close GotoTab MoveTab ResizeFont UseFifo
Bram Moolenaarc81e5e72007-05-05 18:24:42 +0000220
221" NewTab macro
222syn keyword mrxvtrcMacro contained skipwhite
223 \ nextgroup=mrxvtrcTitle,mrxvtrcShell,mrxvtrcCmd
224 \ NewTab
225syn region mrxvtrcTitle contained oneline skipwhite
226 \ nextgroup=mrxvtrcShell,mrxvtrcCmd
227 \ start='"' end='"'
228syn match mrxvtrcShell contained nextgroup=mrxvtrcCmd '!'
229syn match mrxvtrcCmd contained '\v[^!" \t].*'
230
231" ToggleSubwin macro
232syn keyword mrxvtrcMacro contained skipwhite
233 \ nextgroup=mrxvtrcSubwin,mrxvtrcError
234 \ ToggleSubwin
235syn match mrxvtrcSubwin contained skipwhite nextgroup=mrxvtrcError
236 \ '\v[-+]?[bmst]>'
Bram Moolenaar437df8f2006-04-27 21:47:44 +0000237
238"
239" Highlighting groups
240"
Bram Moolenaarc81e5e72007-05-05 18:24:42 +0000241hi def link mrxvtrcError Error
Bram Moolenaar437df8f2006-04-27 21:47:44 +0000242hi def link mrxvtrcComment Comment
243
Bram Moolenaarc81e5e72007-05-05 18:24:42 +0000244hi def link mrxvtrcClass Statement
245hi def link mrxvtrcOptions mrxvtrcClass
246hi def link mrxvtrcBColon mrxvtrcClass
247hi def link mrxvtrcCColon mrxvtrcClass
248hi def link mrxvtrcNColon mrxvtrcClass
249hi def link mrxvtrcSColon mrxvtrcClass
250hi def link mrxvtrcProfile mrxvtrcClass
251hi def link mrxvtrcPSOpts mrxvtrcClass
252hi def link mrxvtrcPCOpts mrxvtrcClass
253hi def link mrxvtrcPNOpts mrxvtrcClass
Bram Moolenaar437df8f2006-04-27 21:47:44 +0000254
255hi def link mrxvtrcBoolVal Boolean
256hi def link mrxvtrcStrVal String
257hi def link mrxvtrcColorVal Constant
258hi def link mrxvtrcNumVal Number
259
260hi def link mrxvtrcSBstyle mrxvtrcStrVal
261hi def link mrxvtrcSBalign mrxvtrcStrVal
262hi def link mrxvtrcTSmode mrxvtrcStrVal
263hi def link mrxvtrcGrkKbd mrxvtrcStrVal
264hi def link mrxvtrcXftWt mrxvtrcStrVal
265hi def link mrxvtrcXftSl mrxvtrcStrVal
266hi def link mrxvtrcXftWd mrxvtrcStrVal
267hi def link mrxvtrcXftHt mrxvtrcStrVal
268hi def link mrxvtrcPedit mrxvtrcStrVal
269hi def link mrxvtrcMod mrxvtrcStrVal
270hi def link mrxvtrcSelSty mrxvtrcStrVal
271
272hi def link mrxvtrcMacro Identifier
Bram Moolenaarc81e5e72007-05-05 18:24:42 +0000273hi def link mrxvtrcKey mrxvtrcClass
274hi def link mrxvtrcTitle mrxvtrcStrVal
275hi def link mrxvtrcShell Special
276hi def link mrxvtrcCmd PreProc
277hi def link mrxvtrcSubwin mrxvtrcStrVal
Bram Moolenaar437df8f2006-04-27 21:47:44 +0000278
279let b:current_syntax = "mrxvtrc"
Bram Moolenaarb8ff1fb2012-02-04 21:59:01 +0100280
281let &cpo = s:cpo_save
282unlet s:cpo_save