1" Created : Wed 26 Apr 2006 01:20:53 AM CDT 2" Modified : Mon 27 Aug 2007 12:10:37 PM PDT 3" Author : Gautam Iyer <gi1242@users.sourceforge.net> 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 transparentForce 35 \ transparentScrollbar transparentMenubar 36 \ transparentTabbar tabUsePixmap utmpInhibit 37 \ visualBell mapAlert meta8 38 \ mouseWheelScrollPage multibyte_cursor 39 \ tripleclickwords showMenu xft xftNomFont 40 \ xftSlowOutput xftAntialias xftHinting 41 \ xftAutoHint xftGlobalAdvance cmdAllTabs 42 \ protectSecondary thai borderLess 43 \ overrideRedirect broadcast smartResize 44 \ pointerBlank cursorBlink noSysConfig 45 \ disableMacros linuxHomeEndKey sessionMgt 46 \ boldColors smoothResize useFifo veryBright 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 opacity opacityDegree xftPSize 78syn 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]+)>' 82 83" 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 93syn 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 105 \ winTitleFormat 106syn 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 130 \ none top bottom left right topleft topright 131 \ botleft botright 132 133" 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 139 140" 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 146 147" xftSlant 148syn match mrxvtrcOptions contained skipwhite 149 \ nextgroup=mrxvtrcXftSl,mrxvtrcError 150 \ '\v<xftSlant:' 151syn keyword mrxvtrcXftSl contained skipwhite nextgroup=mrxvtrcError 152 \ roman italic oblique 153 154" xftWidth 155syn match mrxvtrcOptions contained skipwhite 156 \ nextgroup=mrxvtrcXftWd,mrxvtrcError 157 \ '\v<xftWidth:' 158syn keyword mrxvtrcXftWd contained skipwhite nextgroup=mrxvtrcError 159 \ ultracondensed ultraexpanded 160 \ condensed expanded normal 161 162" 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 168 169" preeditType 170syn match mrxvtrcOptions contained skipwhite 171 \ nextgroup=mrxvtrcPedit,mrxvtrcError 172 \ '\v<preeditType:' 173syn keyword mrxvtrcPedit contained skipwhite nextgroup=mrxvtrcError 174 \ OverTheSpot OffTheSpot Root 175 176" modifier 177syn match mrxvtrcOptions contained skipwhite 178 \ nextgroup=mrxvtrcMod,mrxvtrcError 179 \ '\v<modifier:' 180syn keyword mrxvtrcMod contained skipwhite nextgroup=mrxvtrcError 181 \ alt meta hyper super mod1 mod2 mod3 mod4 mod5 182 183" selectStyle 184syn match mrxvtrcOptions contained skipwhite 185 \ nextgroup=mrxvtrcSelSty,mrxvtrcError 186 \ '\v<selectStyle:' 187syn keyword mrxvtrcSelSty contained skipwhite nextgroup=mrxvtrcError 188 \ old oldword 189 190 191" 192" Macros 193" 194syn 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 201 202" Macros without arguments 203syn keyword mrxvtrcMacro contained skipwhite nextgroup=mrxvtrcError 204 \ Dummy Copy Paste ToggleVeryBold 205 \ ToggleTransparency ToggleBroadcast 206 \ ToggleHold SetTitle ToggleMacros 207 \ ToggleFullscreen Raise 208 209" 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 216 \ Close GotoTab MoveTab ResizeFont UseFifo 217 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]>' 234 235" 236" Highlighting groups 237" 238hi def link mrxvtrcError Error 239hi def link mrxvtrcComment Comment 240 241hi 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 251 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 270hi def link mrxvtrcKey mrxvtrcClass 271hi def link mrxvtrcTitle mrxvtrcStrVal 272hi def link mrxvtrcShell Special 273hi def link mrxvtrcCmd PreProc 274hi def link mrxvtrcSubwin mrxvtrcStrVal 275 276let b:current_syntax = "mrxvtrc" 277