diff options
Diffstat (limited to 'runtime/syntax/mrxvtrc.vim')
-rw-r--r-- | runtime/syntax/mrxvtrc.vim | 314 |
1 files changed, 220 insertions, 94 deletions
diff --git a/runtime/syntax/mrxvtrc.vim b/runtime/syntax/mrxvtrc.vim index d3e3129317..d86f8e42ae 100644 --- a/runtime/syntax/mrxvtrc.vim +++ b/runtime/syntax/mrxvtrc.vim @@ -1,129 +1,254 @@ " Created : Wed 26 Apr 2006 01:20:53 AM CDT -" Modified : Thu 27 Apr 2006 02:29:25 PM CDT +" Modified : Mon 20 Nov 2006 12:14:16 AM PST " Author : Gautam Iyer <gi1242@users.sourceforge.net> -" Description : Syntax file for mrxvtrc +" Description : Vim syntax file for mrxvtrc (for mrxvt-0.5.0 and up) " Quit when a syntax file was already loaded if exists("b:current_syntax") finish endif -" Define options. -let s:boolOpts = '(highlightTabOnBell|syncTabTitle|hideTabbar|autohideTabbar|bottomTabbar|hideButtons|syncTabIcon|veryBoldFont|maximized|fullscreen|reverseVideo|loginShell|jumpScroll|scrollBar|scrollbarRight|scrollbarFloating|scrollTtyOutputInhibit|scrollTtyKeypress|scrollWithBuffer|transparent|transparentForce|transparentScrollbar|transparentMenubar|transparentTabbar|tabUsePixmap|utmpInhibit|visualBell|mapAlert|meta8|mouseWheelScrollPage|multibyte_cursor|tripleclickwords|showMenu|xft|xftNomFont|xftSlowOutput|xftAntialias|xftHinting|xftAutoHint|xftGlobalAdvance|tabShell|cmdAllTabs|cmdInitTabs|protectSecondary|thai|borderLess|overrideRedirect|holdExit|broadcast|smartResize|smoothResize|pointerBlank|cursorBlink|noSysConfig|disableMacros|linuxHomeEndKey|sessionMgt)' - -let s:colorOpts = '(vt\d+.(foreground|background)|background|foreground|ufBackground|textShadow|i?tab(Foreground|Background)|color([0-9]|1[0-5]|BD|UL|RV)|(scroll|trough|highlight|cursor|pointer|border|tint)Color|cursorColor2)' - -let s:numOpts = '(vt\d+.saveLines|maxTabWidth|minVisibleTabs|saveLines|scrollbarThickness|xftmSize|xftSize|desktop|externalBorder|internalBorder|lineSpace|pointerBlankDelay|cursorBlinkInterval|initTermNumber|shading|backgroundFade|bgRefreshInterval|fading|opacity|opacityDegree|xftPSize)' - -let s:strOpts = '(vt\d+\.(tabTitle|command)|tabTitle|termName|title|clientName|iconName|bellCommand|holdExitText|backspaceKey|deleteKey|printPipe|cutChars|answerbackString|smClientID|geometry|confFileSave|path|boldFont|m?font[1-5]?|xftFont|xftmFont|xftPFont|inputMethod|greektoggle_key|menu|menubarPixmap|vt\d+\.Pixmap|Pixmap|scrollbarPixmap|tabbarPixmap|appIcon|multichar_encoding)' - syn case match -syn match mrxvtrcComment contains=@Spell '^\s*!.*$' -syn match mrxvtrcComment '\v^\s*!\s*\w+[.*]\w+.*:.*' +" Errors +syn match mrxvtrcError contained '\v\S+' + +" Comments +syn match mrxvtrcComment contains=@Spell '^\s*[!#].*$' +syn match mrxvtrcComment '\v^\s*[#!]\s*\w+[.*]\w+.*:.*' " -" Generic options (string / color / number / boolean) +" Options. " -syn match mrxvtrcOptErr '\v^\s*\w+[.*]?.{-}(:|$)' -exec 'syn match mrxvtrcBoolOpts nextgroup=mrxvtrcBoolVal,mrxvtrcValErr' - \ '"\v^\w+[.*]'.s:boolOpts.':\s*"' -exec 'syn match mrxvtrcNumOpts nextgroup=mrxvtrcNumVal,mrxvtrcValErr' - \ '"\v^\w+[.*]'.s:numOpts.':\s*"' -exec 'syn match mrxvtrcColorOpts nextgroup=mrxvtrcColorVal' - \ '"\v^\w+[.*]'.s:colorOpts.':\s*"' -exec 'syn match mrxvtrcStrOpts nextgroup=mrxvtrcStrVal,mrxvtrcValErr' - \ '"\v^\w+[.*]'.s:strOpts.':\s*"' - +syn match mrxvtrcClass '\v^\s*\w+[.*]' + \ nextgroup=mrxvtrcOptions,mrxvtrcProfile,@mrxvtrcPOpts,mrxvtrcError + +" Boolean options +syn keyword mrxvtrcOptions contained nextgroup=mrxvtrcBColon,mrxvtrcError + \ highlightTabOnBell syncTabTitle hideTabbar + \ autohideTabbar bottomTabbar hideButtons + \ syncTabIcon veryBoldFont maximized + \ fullscreen reverseVideo loginShell + \ jumpScroll scrollBar scrollbarRight + \ scrollbarFloating scrollTtyOutputInhibit + \ scrollTtyKeypress scrollWithBuffer + \ transparentForce transparentScrollbar + \ transparentMenubar transparentTabbar + \ tabUsePixmap utmpInhibit visualBell mapAlert + \ meta8 mouseWheelScrollPage multibyte_cursor + \ tripleclickwords showMenu xft xftNomFont + \ xftSlowOutput xftAntialias xftHinting + \ xftAutoHint xftGlobalAdvance cmdAllTabs + \ protectSecondary thai borderLess + \ overrideRedirect broadcast + \ smartResize smoothResize pointerBlank + \ cursorBlink noSysConfig disableMacros + \ linuxHomeEndKey sessionMgt +syn match mrxvtrcOptions contained nextgroup=mrxvtrcBColon,mrxvtrcError + \ '\v<transparent>' +syn match mrxvtrcBColon contained skipwhite + \ nextgroup=mrxvtrcBoolVal,mrxvtrcError ':' syn case ignore - -syn match mrxvtrcValErr contained '\v.+$' -syn keyword mrxvtrcBoolVal contained 0 1 yes no on off true false -syn match mrxvtrcStrVal contained '\v.+$' -syn match mrxvtrcColorVal contained '\v#[0-9a-f]{6}\s*$' -syn match mrxvtrcNumVal contained '\v[+-]?(0[0-7]+|\d+|0x[0-9a-f]+)$' - +syn keyword mrxvtrcBoolVal contained skipwhite nextgroup=mrxvtrcError + \ 0 1 yes no on off true false syn case match -" -" Options with special values -" -syn match mrxvtrcOptions nextgroup=mrxvtrcSBstyle,mrxvtrcValErr - \ '\v^\w+[.*]scrollbarStyle:\s*' -syn keyword mrxvtrcSBstyle contained plain xterm rxvt next sgi - -syn match mrxvtrcOptions nextgroup=mrxvtrcSBalign,mrxvtrcValErr - \ '\v^\w+[.*]scrollbarAlign:\s*' -syn keyword mrxvtrcSBalign contained top bottom - -syn match mrxvtrcOptions nextgroup=mrxvtrcTSmode,mrxvtrcValErr - \ '\v^\w+[.*]textShadowMode:\s*' -syn keyword mrxvtrcTSmode contained +" Color options +syn keyword mrxvtrcOptions contained nextgroup=mrxvtrcCColon,mrxvtrcError + \ ufBackground textShadow tabForeground + \ itabForeground tabBackground itabBackground + \ scrollColor troughColor highlightColor + \ cursorColor cursorColor2 pointerColor + \ borderColor tintColor +syn match mrxvtrcOptions contained nextgroup=mrxvtrcCColon,mrxvtrcError + \ '\v<color([0-9]|1[0-5]|BD|UL|RV)>' +syn match mrxvtrcCColon contained skipwhite + \ nextgroup=mrxvtrcColorVal ':' +syn match mrxvtrcColorVal contained skipwhite nextgroup=mrxvtrcError + \ '\v#[0-9a-fA-F]{6}' + +" Numeric options +syn keyword mrxvtrcOptions contained nextgroup=mrxvtrcNColon,mrxvtrcError + \ maxTabWidth minVisibleTabs + \ scrollbarThickness xftmSize xftSize desktop + \ externalBorder internalBorder lineSpace + \ pointerBlankDelay cursorBlinkInterval + \ shading backgroundFade bgRefreshInterval + \ fading focusDelay opacity opacityDegree + \ xftPSize +syn match mrxvtrcNColon contained skipwhite + \ nextgroup=mrxvtrcNumVal,mrxvtrcError ':' +syn match mrxvtrcNumVal contained skipwhite nextgroup=mrxvtrcError + \ '\v[+-]?<(0[0-7]+|\d+|0x[0-9a-f]+)>' + +" String options +syn keyword mrxvtrcOptions contained nextgroup=mrxvtrcSColon,mrxvtrcError + \ tabTitle termName title clientName iconName + \ bellCommand backspaceKey deleteKey + \ printPipe cutChars answerbackString + \ smClientID geometry path boldFont xftFont + \ xftmFont xftPFont inputMethod + \ greektoggle_key menu menubarPixmap + \ scrollbarPixmap tabbarPixmap appIcon + \ multichar_encoding initProfileList + \ winTitleFormat +syn match mrxvtrcOptions contained nextgroup=mrxvtrcSColon,mrxvtrcError + \ '\v<m?font[1-5]?>' +syn match mrxvtrcSColon contained skipwhite nextgroup=mrxvtrcStrVal ':' +syn match mrxvtrcStrVal contained '\v\S.*' + +" Profile options +syn cluster mrxvtrcPOpts contains=mrxvtrcPSOpts,mrxvtrcPCOpts,mrxvtrcPNOpts +syn match mrxvtrcProfile contained nextgroup=@mrxvtrcPOpts,mrxvtrcError + \ '\vprofile\d+\.' +syn keyword mrxvtrcPSOpts contained nextgroup=mrxvtrcSColon,mrxvtrcError + \ tabTitle command holdExitText holdExitTitle + \ Pixmap workingDirectory titleFormat +syn keyword mrxvtrcPCOpts contained nextgroup=mrxvtrcCColon,mrxvtrcError + \ background foreground +syn keyword mrxvtrcPNOpts contained nextgroup=mrxvtrcNColon,mrxvtrcError + \ holdExit saveLines + +" scrollbarStyle +syn match mrxvtrcOptions contained skipwhite + \ nextgroup=mrxvtrcSBstyle,mrxvtrcError + \ '\v<scrollbarStyle:' +syn keyword mrxvtrcSBstyle contained skipwhite nextgroup=mrxvtrcError + \ plain xterm rxvt next sgi + +" scrollbarAlign +syn match mrxvtrcOptions contained skipwhite + \ nextgroup=mrxvtrcSBalign,mrxvtrcError + \ '\v<scrollbarAlign:' +syn keyword mrxvtrcSBalign contained skipwhite nextgroup=mrxvtrcError + \ top bottom + +" textShadowMode +syn match mrxvtrcOptions contained skipwhite + \ nextgroup=mrxvtrcTSmode,mrxvtrcError + \ '\v<textShadowMode:' +syn keyword mrxvtrcTSmode contained skipwhite nextgroup=mrxvtrcError \ none top bottom left right topleft topright \ botleft botright -syn match mrxvtrcOptions nextgroup=mrxvtrcGrkKbd,mrxvtrcValErr - \ '\v^\w+[.*]greek_keyboard:\s*' -syn keyword mrxvtrcGrkKbd contained iso ibm - -syn match mrxvtrcOptions nextgroup=mrxvtrcXftWt,mrxvtrcValErr - \ '\v^\w+[.*]xftWeight:\s*' -syn keyword mrxvtrcXftWt contained light medium bold - -syn match mrxvtrcOptions nextgroup=mrxvtrcXftSl,mrxvtrcValErr - \ '\v^\w+[.*]xftSlant:\s*' -syn keyword mrxvtrcXftSl contained roman italic oblique - -syn match mrxvtrcOptions nextgroup=mrxvtrcXftWd,mrxvtrcValErr - \ '\v^\w+[.*]xftWidth:\s*' -syn keyword mrxvtrcXftWd contained +" greek_keyboard +syn match mrxvtrcOptions contained skipwhite + \ nextgroup=mrxvtrcGrkKbd,mrxvtrcError + \ '\v<greek_keyboard:' +syn keyword mrxvtrcGrkKbd contained skipwhite nextgroup=mrxvtrcError + \ iso ibm + +" xftWeight +syn match mrxvtrcOptions contained skipwhite + \ nextgroup=mrxvtrcXftWt,mrxvtrcError + \ '\v<(xftWeight|xftBoldWeight):' +syn keyword mrxvtrcXftWt contained skipwhite nextgroup=mrxvtrcError + \ light medium demibold bold black + +" xftSlant +syn match mrxvtrcOptions contained skipwhite + \ nextgroup=mrxvtrcXftSl,mrxvtrcError + \ '\v<xftSlant:' +syn keyword mrxvtrcXftSl contained skipwhite nextgroup=mrxvtrcError + \ roman italic oblique + +" xftWidth +syn match mrxvtrcOptions contained skipwhite + \ nextgroup=mrxvtrcXftWd,mrxvtrcError + \ '\v<xftWidth:' +syn keyword mrxvtrcXftWd contained skipwhite nextgroup=mrxvtrcError \ ultracondensed ultraexpanded \ condensed expanded normal -syn match mrxvtrcOptions nextgroup=mrxvtrcXftHt,mrxvtrcValErr - \ '\v^\w+[.*]xftRGBA:\s*' -syn keyword mrxvtrcXftHt contained rgb bgr vrgb vbgr none - -syn match mrxvtrcOptions nextgroup=mrxvtrcPedit,mrxvtrcValErr - \ '\v^\w+[.*]preeditType:\s*' -syn keyword mrxvtrcPedit contained OverTheSpot OffTheSpot Root - -syn match mrxvtrcOptions nextgroup=mrxvtrcMod,mrxvtrcValErr - \ '\v^\w+[.*]modifier:\s*' -syn keyword mrxvtrcMod contained +" xftRGBA +syn match mrxvtrcOptions contained skipwhite + \ nextgroup=mrxvtrcXftHt,mrxvtrcError + \ '\v<xftRGBA:' +syn keyword mrxvtrcXftHt contained skipwhite nextgroup=mrxvtrcError + \ rgb bgr vrgb vbgr none + +" preeditType +syn match mrxvtrcOptions contained skipwhite + \ nextgroup=mrxvtrcPedit,mrxvtrcError + \ '\v<preeditType:' +syn keyword mrxvtrcPedit contained skipwhite nextgroup=mrxvtrcError + \ OverTheSpot OffTheSpot Root + +" modifier +syn match mrxvtrcOptions contained skipwhite + \ nextgroup=mrxvtrcMod,mrxvtrcError + \ '\v<modifier:' +syn keyword mrxvtrcMod contained skipwhite nextgroup=mrxvtrcError \ alt meta hyper super mod1 mod2 mod3 mod4 mod5 -syn match mrxvtrcOptions nextgroup=mrxvtrcSelSty,mrxvtrcValErr - \ '\v^\w+[.*]selectStyle:\s*' -syn keyword mrxvtrcSelSty contained old oldword +" selectStyle +syn match mrxvtrcOptions contained skipwhite + \ nextgroup=mrxvtrcSelSty,mrxvtrcError + \ '\v<selectStyle:' +syn keyword mrxvtrcSelSty contained skipwhite nextgroup=mrxvtrcError + \ old oldword " " Macros " -syn match mrxvtrcOptions nextgroup=mrxvtrcMacro,mrxvtrcValErr - \ '\v\c^\w+[.*]macro.(primary\+)?((ctrl|alt|meta|shift)\+)*\w+:\s*' -syn keyword mrxvtrcMacro contained nextgroup=mrxvtrcMacroArg - \ Dummy Esc Str NewTab Close GotoTab MoveTab - \ Scroll Copy Paste ToggleSubwin ResizeFont - \ ToggleVeryBold ToggleTransparency - \ ToggleBroadcast ToggleHold SetTitle - \ PrintScreen SaveConfig ToggleMacros -syn match mrxvtrcMacroArg contained '.\+$' - +syn keyword mrxvtrcOptions contained nextgroup=mrxvtrcKey,mrxvtrcError + \ macro +syn case ignore +syn match mrxvtrcKey contained skipwhite + \ nextgroup=mrxvtrcMacro,mrxvtrcError + \ '\v\.((primary|add|ctrl|alt|meta|shift)\+)*\w+:' +syn case match -unlet s:strOpts s:boolOpts s:colorOpts s:numOpts +" Macros without arguments +syn keyword mrxvtrcMacro contained skipwhite nextgroup=mrxvtrcError + \ Dummy Copy Paste ToggleVeryBold + \ ToggleTransparency ToggleBroadcast + \ ToggleHold SetTitle ToggleMacros + \ ToggleFullscreen + +" Macros with a string argument +syn keyword mrxvtrcMacro contained skipwhite nextgroup=mrxvtrcStrVal + \ Esc Str Exec Scroll PrintScreen SaveConfig + +" Macros with a numeric argument +syn keyword mrxvtrcMacro contained skipwhite + \ nextgroup=mrxvtrcNumVal,mrxvtrcError + \ Close GotoTab MoveTab ResizeFont + +" NewTab macro +syn keyword mrxvtrcMacro contained skipwhite + \ nextgroup=mrxvtrcTitle,mrxvtrcShell,mrxvtrcCmd + \ NewTab +syn region mrxvtrcTitle contained oneline skipwhite + \ nextgroup=mrxvtrcShell,mrxvtrcCmd + \ start='"' end='"' +syn match mrxvtrcShell contained nextgroup=mrxvtrcCmd '!' +syn match mrxvtrcCmd contained '\v[^!" \t].*' + +" ToggleSubwin macro +syn keyword mrxvtrcMacro contained skipwhite + \ nextgroup=mrxvtrcSubwin,mrxvtrcError + \ ToggleSubwin +syn match mrxvtrcSubwin contained skipwhite nextgroup=mrxvtrcError + \ '\v[-+]?[bmst]>' " " Highlighting groups " +hi def link mrxvtrcError Error hi def link mrxvtrcComment Comment -hi def link mrxvtrcBoolOpts Statement -hi def link mrxvtrcColorOpts mrxvtrcBoolOpts -hi def link mrxvtrcNumOpts mrxvtrcBoolOpts -hi def link mrxvtrcStrOpts mrxvtrcBoolOpts -hi def link mrxvtrcOptions mrxvtrcBoolOpts +hi def link mrxvtrcClass Statement +hi def link mrxvtrcOptions mrxvtrcClass +hi def link mrxvtrcBColon mrxvtrcClass +hi def link mrxvtrcCColon mrxvtrcClass +hi def link mrxvtrcNColon mrxvtrcClass +hi def link mrxvtrcSColon mrxvtrcClass +hi def link mrxvtrcProfile mrxvtrcClass +hi def link mrxvtrcPSOpts mrxvtrcClass +hi def link mrxvtrcPCOpts mrxvtrcClass +hi def link mrxvtrcPNOpts mrxvtrcClass hi def link mrxvtrcBoolVal Boolean hi def link mrxvtrcStrVal String @@ -143,9 +268,10 @@ hi def link mrxvtrcMod mrxvtrcStrVal hi def link mrxvtrcSelSty mrxvtrcStrVal hi def link mrxvtrcMacro Identifier -hi def link mrxvtrcMacroArg String - -hi def link mrxvtrcOptErr Error -hi def link mrxvtrcValErr Error +hi def link mrxvtrcKey mrxvtrcClass +hi def link mrxvtrcTitle mrxvtrcStrVal +hi def link mrxvtrcShell Special +hi def link mrxvtrcCmd PreProc +hi def link mrxvtrcSubwin mrxvtrcStrVal let b:current_syntax = "mrxvtrc" |