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