blob: 878021e0026140dd26ced0c7ed7f00562bc1aa63 [file] [log] [blame]
Bram Moolenaar437df8f2006-04-27 21:47:44 +00001" Created : Wed 26 Apr 2006 01:20:53 AM CDT
Bram Moolenaar8c8de832008-06-24 22:58:06 +00002" Modified : Mon 27 Aug 2007 12:10:37 PM PDT
Bram Moolenaar437df8f2006-04-27 21:47:44 +00003" Author : Gautam Iyer <gi1242@users.sourceforge.net>
Bram Moolenaarc81e5e72007-05-05 18:24:42 +00004" Description : Vim syntax file for mrxvtrc (for mrxvt-0.5.0 and up)
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 Moolenaar437df8f2006-04-27 21:47:44 +000011syn case match
12
Bram Moolenaarc81e5e72007-05-05 18:24:42 +000013" Errors
14syn match mrxvtrcError contained '\v\S+'
15
16" Comments
17syn match mrxvtrcComment contains=@Spell '^\s*[!#].*$'
18syn match mrxvtrcComment '\v^\s*[#!]\s*\w+[.*]\w+.*:.*'
Bram Moolenaar437df8f2006-04-27 21:47:44 +000019
20"
Bram Moolenaarc81e5e72007-05-05 18:24:42 +000021" Options.
Bram Moolenaar437df8f2006-04-27 21:47:44 +000022"
Bram Moolenaarc81e5e72007-05-05 18:24:42 +000023syn match mrxvtrcClass '\v^\s*\w+[.*]'
24 \ nextgroup=mrxvtrcOptions,mrxvtrcProfile,@mrxvtrcPOpts,mrxvtrcError
Bram Moolenaar437df8f2006-04-27 21:47:44 +000025
Bram Moolenaarc81e5e72007-05-05 18:24:42 +000026" 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
Bram Moolenaar8c8de832008-06-24 22:58:06 +000034 \ scrollTtyKeypress transparentForce
35 \ transparentScrollbar transparentMenubar
36 \ transparentTabbar tabUsePixmap utmpInhibit
37 \ visualBell mapAlert meta8
38 \ mouseWheelScrollPage multibyte_cursor
Bram Moolenaarc81e5e72007-05-05 18:24:42 +000039 \ tripleclickwords showMenu xft xftNomFont
40 \ xftSlowOutput xftAntialias xftHinting
41 \ xftAutoHint xftGlobalAdvance cmdAllTabs
42 \ protectSecondary thai borderLess
Bram Moolenaar8c8de832008-06-24 22:58:06 +000043 \ overrideRedirect broadcast smartResize
44 \ pointerBlank cursorBlink noSysConfig
45 \ disableMacros linuxHomeEndKey sessionMgt
46 \ boldColors smoothResize useFifo veryBright
Bram Moolenaarc81e5e72007-05-05 18:24:42 +000047syn match mrxvtrcOptions contained nextgroup=mrxvtrcBColon,mrxvtrcError
48 \ '\v<transparent>'
49syn match mrxvtrcBColon contained skipwhite
50 \ nextgroup=mrxvtrcBoolVal,mrxvtrcError ':'
Bram Moolenaar437df8f2006-04-27 21:47:44 +000051syn case ignore
Bram Moolenaarc81e5e72007-05-05 18:24:42 +000052syn keyword mrxvtrcBoolVal contained skipwhite nextgroup=mrxvtrcError
53 \ 0 1 yes no on off true false
Bram Moolenaar437df8f2006-04-27 21:47:44 +000054syn case match
55
Bram Moolenaarc81e5e72007-05-05 18:24:42 +000056" 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}'
Bram Moolenaar437df8f2006-04-27 21:47:44 +000069
Bram Moolenaarc81e5e72007-05-05 18:24:42 +000070" 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
Bram Moolenaar8c8de832008-06-24 22:58:06 +000077 \ fading opacity opacityDegree xftPSize
Bram Moolenaarc81e5e72007-05-05 18:24:42 +000078syn match mrxvtrcNColon contained skipwhite
79 \ nextgroup=mrxvtrcNumVal,mrxvtrcError ':'
80syn match mrxvtrcNumVal contained skipwhite nextgroup=mrxvtrcError
81 \ '\v[+-]?<(0[0-7]+|\d+|0x[0-9a-f]+)>'
Bram Moolenaar437df8f2006-04-27 21:47:44 +000082
Bram Moolenaarc81e5e72007-05-05 18:24:42 +000083" String options
84syn keyword mrxvtrcOptions contained nextgroup=mrxvtrcSColon,mrxvtrcError
85 \ tabTitle termName title clientName iconName
86 \ bellCommand backspaceKey deleteKey
87 \ printPipe cutChars answerbackString
88 \ smClientID geometry path boldFont xftFont
89 \ xftmFont xftPFont inputMethod
90 \ greektoggle_key menu menubarPixmap
91 \ scrollbarPixmap tabbarPixmap appIcon
92 \ multichar_encoding initProfileList
Bram Moolenaarc81e5e72007-05-05 18:24:42 +000093syn match mrxvtrcOptions contained nextgroup=mrxvtrcSColon,mrxvtrcError
94 \ '\v<m?font[1-5]?>'
95syn match mrxvtrcSColon contained skipwhite nextgroup=mrxvtrcStrVal ':'
96syn match mrxvtrcStrVal contained '\v\S.*'
97
98" Profile options
99syn cluster mrxvtrcPOpts contains=mrxvtrcPSOpts,mrxvtrcPCOpts,mrxvtrcPNOpts
100syn match mrxvtrcProfile contained nextgroup=@mrxvtrcPOpts,mrxvtrcError
101 \ '\vprofile\d+\.'
102syn keyword mrxvtrcPSOpts contained nextgroup=mrxvtrcSColon,mrxvtrcError
103 \ tabTitle command holdExitText holdExitTitle
104 \ Pixmap workingDirectory titleFormat
Bram Moolenaar8c8de832008-06-24 22:58:06 +0000105 \ winTitleFormat
Bram Moolenaarc81e5e72007-05-05 18:24:42 +0000106syn keyword mrxvtrcPCOpts contained nextgroup=mrxvtrcCColon,mrxvtrcError
107 \ background foreground
108syn keyword mrxvtrcPNOpts contained nextgroup=mrxvtrcNColon,mrxvtrcError
109 \ holdExit saveLines
110
111" scrollbarStyle
112syn match mrxvtrcOptions contained skipwhite
113 \ nextgroup=mrxvtrcSBstyle,mrxvtrcError
114 \ '\v<scrollbarStyle:'
115syn keyword mrxvtrcSBstyle contained skipwhite nextgroup=mrxvtrcError
116 \ plain xterm rxvt next sgi
117
118" scrollbarAlign
119syn match mrxvtrcOptions contained skipwhite
120 \ nextgroup=mrxvtrcSBalign,mrxvtrcError
121 \ '\v<scrollbarAlign:'
122syn keyword mrxvtrcSBalign contained skipwhite nextgroup=mrxvtrcError
123 \ top bottom
124
125" textShadowMode
126syn match mrxvtrcOptions contained skipwhite
127 \ nextgroup=mrxvtrcTSmode,mrxvtrcError
128 \ '\v<textShadowMode:'
129syn keyword mrxvtrcTSmode contained skipwhite nextgroup=mrxvtrcError
Bram Moolenaar437df8f2006-04-27 21:47:44 +0000130 \ none top bottom left right topleft topright
131 \ botleft botright
132
Bram Moolenaarc81e5e72007-05-05 18:24:42 +0000133" greek_keyboard
134syn match mrxvtrcOptions contained skipwhite
135 \ nextgroup=mrxvtrcGrkKbd,mrxvtrcError
136 \ '\v<greek_keyboard:'
137syn keyword mrxvtrcGrkKbd contained skipwhite nextgroup=mrxvtrcError
138 \ iso ibm
Bram Moolenaar437df8f2006-04-27 21:47:44 +0000139
Bram Moolenaarc81e5e72007-05-05 18:24:42 +0000140" xftWeight
141syn match mrxvtrcOptions contained skipwhite
142 \ nextgroup=mrxvtrcXftWt,mrxvtrcError
143 \ '\v<(xftWeight|xftBoldWeight):'
144syn keyword mrxvtrcXftWt contained skipwhite nextgroup=mrxvtrcError
145 \ light medium demibold bold black
Bram Moolenaar437df8f2006-04-27 21:47:44 +0000146
Bram Moolenaarc81e5e72007-05-05 18:24:42 +0000147" xftSlant
148syn match mrxvtrcOptions contained skipwhite
149 \ nextgroup=mrxvtrcXftSl,mrxvtrcError
150 \ '\v<xftSlant:'
151syn keyword mrxvtrcXftSl contained skipwhite nextgroup=mrxvtrcError
152 \ roman italic oblique
Bram Moolenaar437df8f2006-04-27 21:47:44 +0000153
Bram Moolenaarc81e5e72007-05-05 18:24:42 +0000154" xftWidth
155syn match mrxvtrcOptions contained skipwhite
156 \ nextgroup=mrxvtrcXftWd,mrxvtrcError
157 \ '\v<xftWidth:'
158syn keyword mrxvtrcXftWd contained skipwhite nextgroup=mrxvtrcError
Bram Moolenaar437df8f2006-04-27 21:47:44 +0000159 \ ultracondensed ultraexpanded
160 \ condensed expanded normal
161
Bram Moolenaarc81e5e72007-05-05 18:24:42 +0000162" xftRGBA
163syn match mrxvtrcOptions contained skipwhite
164 \ nextgroup=mrxvtrcXftHt,mrxvtrcError
165 \ '\v<xftRGBA:'
166syn keyword mrxvtrcXftHt contained skipwhite nextgroup=mrxvtrcError
167 \ rgb bgr vrgb vbgr none
Bram Moolenaar437df8f2006-04-27 21:47:44 +0000168
Bram Moolenaarc81e5e72007-05-05 18:24:42 +0000169" preeditType
170syn match mrxvtrcOptions contained skipwhite
171 \ nextgroup=mrxvtrcPedit,mrxvtrcError
172 \ '\v<preeditType:'
173syn keyword mrxvtrcPedit contained skipwhite nextgroup=mrxvtrcError
174 \ OverTheSpot OffTheSpot Root
Bram Moolenaar437df8f2006-04-27 21:47:44 +0000175
Bram Moolenaarc81e5e72007-05-05 18:24:42 +0000176" modifier
177syn match mrxvtrcOptions contained skipwhite
178 \ nextgroup=mrxvtrcMod,mrxvtrcError
179 \ '\v<modifier:'
180syn keyword mrxvtrcMod contained skipwhite nextgroup=mrxvtrcError
Bram Moolenaar437df8f2006-04-27 21:47:44 +0000181 \ alt meta hyper super mod1 mod2 mod3 mod4 mod5
182
Bram Moolenaarc81e5e72007-05-05 18:24:42 +0000183" selectStyle
184syn match mrxvtrcOptions contained skipwhite
185 \ nextgroup=mrxvtrcSelSty,mrxvtrcError
186 \ '\v<selectStyle:'
187syn keyword mrxvtrcSelSty contained skipwhite nextgroup=mrxvtrcError
188 \ old oldword
Bram Moolenaar437df8f2006-04-27 21:47:44 +0000189
190
191"
192" Macros
193"
Bram Moolenaarc81e5e72007-05-05 18:24:42 +0000194syn keyword mrxvtrcOptions contained nextgroup=mrxvtrcKey,mrxvtrcError
195 \ macro
196syn case ignore
197syn match mrxvtrcKey contained skipwhite
198 \ nextgroup=mrxvtrcMacro,mrxvtrcError
199 \ '\v\.((primary|add|ctrl|alt|meta|shift)\+)*\w+:'
200syn case match
Bram Moolenaar437df8f2006-04-27 21:47:44 +0000201
Bram Moolenaarc81e5e72007-05-05 18:24:42 +0000202" Macros without arguments
203syn keyword mrxvtrcMacro contained skipwhite nextgroup=mrxvtrcError
204 \ Dummy Copy Paste ToggleVeryBold
205 \ ToggleTransparency ToggleBroadcast
206 \ ToggleHold SetTitle ToggleMacros
Bram Moolenaar8c8de832008-06-24 22:58:06 +0000207 \ ToggleFullscreen Raise
Bram Moolenaar437df8f2006-04-27 21:47:44 +0000208
Bram Moolenaarc81e5e72007-05-05 18:24:42 +0000209" Macros with a string argument
210syn keyword mrxvtrcMacro contained skipwhite nextgroup=mrxvtrcStrVal
211 \ Esc Str Exec Scroll PrintScreen SaveConfig
212
213" Macros with a numeric argument
214syn keyword mrxvtrcMacro contained skipwhite
215 \ nextgroup=mrxvtrcNumVal,mrxvtrcError
Bram Moolenaar8c8de832008-06-24 22:58:06 +0000216 \ Close GotoTab MoveTab ResizeFont UseFifo
Bram Moolenaarc81e5e72007-05-05 18:24:42 +0000217
218" NewTab macro
219syn keyword mrxvtrcMacro contained skipwhite
220 \ nextgroup=mrxvtrcTitle,mrxvtrcShell,mrxvtrcCmd
221 \ NewTab
222syn region mrxvtrcTitle contained oneline skipwhite
223 \ nextgroup=mrxvtrcShell,mrxvtrcCmd
224 \ start='"' end='"'
225syn match mrxvtrcShell contained nextgroup=mrxvtrcCmd '!'
226syn match mrxvtrcCmd contained '\v[^!" \t].*'
227
228" ToggleSubwin macro
229syn keyword mrxvtrcMacro contained skipwhite
230 \ nextgroup=mrxvtrcSubwin,mrxvtrcError
231 \ ToggleSubwin
232syn match mrxvtrcSubwin contained skipwhite nextgroup=mrxvtrcError
233 \ '\v[-+]?[bmst]>'
Bram Moolenaar437df8f2006-04-27 21:47:44 +0000234
235"
236" Highlighting groups
237"
Bram Moolenaarc81e5e72007-05-05 18:24:42 +0000238hi def link mrxvtrcError Error
Bram Moolenaar437df8f2006-04-27 21:47:44 +0000239hi def link mrxvtrcComment Comment
240
Bram Moolenaarc81e5e72007-05-05 18:24:42 +0000241hi def link mrxvtrcClass Statement
242hi def link mrxvtrcOptions mrxvtrcClass
243hi def link mrxvtrcBColon mrxvtrcClass
244hi def link mrxvtrcCColon mrxvtrcClass
245hi def link mrxvtrcNColon mrxvtrcClass
246hi def link mrxvtrcSColon mrxvtrcClass
247hi def link mrxvtrcProfile mrxvtrcClass
248hi def link mrxvtrcPSOpts mrxvtrcClass
249hi def link mrxvtrcPCOpts mrxvtrcClass
250hi def link mrxvtrcPNOpts mrxvtrcClass
Bram Moolenaar437df8f2006-04-27 21:47:44 +0000251
252hi def link mrxvtrcBoolVal Boolean
253hi def link mrxvtrcStrVal String
254hi def link mrxvtrcColorVal Constant
255hi def link mrxvtrcNumVal Number
256
257hi def link mrxvtrcSBstyle mrxvtrcStrVal
258hi def link mrxvtrcSBalign mrxvtrcStrVal
259hi def link mrxvtrcTSmode mrxvtrcStrVal
260hi def link mrxvtrcGrkKbd mrxvtrcStrVal
261hi def link mrxvtrcXftWt mrxvtrcStrVal
262hi def link mrxvtrcXftSl mrxvtrcStrVal
263hi def link mrxvtrcXftWd mrxvtrcStrVal
264hi def link mrxvtrcXftHt mrxvtrcStrVal
265hi def link mrxvtrcPedit mrxvtrcStrVal
266hi def link mrxvtrcMod mrxvtrcStrVal
267hi def link mrxvtrcSelSty mrxvtrcStrVal
268
269hi def link mrxvtrcMacro Identifier
Bram Moolenaarc81e5e72007-05-05 18:24:42 +0000270hi def link mrxvtrcKey mrxvtrcClass
271hi def link mrxvtrcTitle mrxvtrcStrVal
272hi def link mrxvtrcShell Special
273hi def link mrxvtrcCmd PreProc
274hi def link mrxvtrcSubwin mrxvtrcStrVal
Bram Moolenaar437df8f2006-04-27 21:47:44 +0000275
276let b:current_syntax = "mrxvtrc"