Hi Bram,
Attached are the filetype, syntax and ftdetect files for mrxvt config
files. Sorry I couldn't make your April 20th deadline ... but maybe you
can stick these in Vim-7.1 if they don't make the Vim-7.0 release.
Gautam
--
BTW, FWIW, IMHO, AFAIK, yes. OTOH, AAMOF, maybe not. YMMV.
" Created : Wed 26 Apr 2006 01:20:53 AM CDT
" Modified : Thu 27 Apr 2006 03:21:09 AM CDT
" Author : Gautam Iyer <[EMAIL PROTECTED]>
" Description : Syntax file for mrxvtrc
" 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 mrxvtComment [EMAIL PROTECTED] '^\s*!.*$'
syn match mrxvtComment '\v^\s*!\s*\w+[.*]\w+.*:.*'
"
" Generic options (string / color / number / boolean)
"
syn match mrxvtOptErr '\v^\s*\w+[.*]?.{-}(:|$)'
exec 'syn match mrxvtBoolOpts nextgroup=mrxvtBoolVal,mrxvtValErr'
\ '"\v^\w+[.*]'.s:boolOpts.':\s*"'
exec 'syn match mrxvtNumOpts nextgroup=mrxvtNumVal,mrxvtValErr'
\ '"\v^\w+[.*]'.s:numOpts.':\s*"'
exec 'syn match mrxvtColorOpts nextgroup=mrxvtColorVal'
\ '"\v^\w+[.*]'.s:colorOpts.':\s*"'
exec 'syn match mrxvtStrOpts nextgroup=mrxvtStrVal,mrxvtValErr'
\ '"\v^\w+[.*]'.s:strOpts.':\s*"'
syn match mrxvtValErr contained '\v.+$'
syn match mrxvtBoolVal contained
\ '\v\c(0|1|yes|no|on|off|true|false)\s*$'
syn match mrxvtStrVal contained '\v.+$'
syn match mrxvtColorVal contained '\v#[0-9a-fA-F]{6}\s*$'
syn match mrxvtNumVal contained '\v[+-]?(0[0-7]+|\d+|0x[0-9a-fA-F]+)$'
"
" Options with special values
"
syn match mrxvtOptions nextgroup=mrxvtSBstyle,mrxvtValErr
\ '\v^\w+[.*]scrollbarStyle:\s*'
syn match mrxvtSBstyle contained '\v(plain|xterm|rxvt|next|sgi)$'
syn match mrxvtOptions nextgroup=mrxvtSBalign,mrxvtValErr
\ '\v^\w+[.*]scrollbarAlign:\s*'
syn match mrxvtSBalign contained '\v(top|bottom)$'
syn match mrxvtOptions nextgroup=mrxvtTSmode,mrxvtValErr
\ '\v^\w+[.*]textShadowMode:\s*'
syn match mrxvtTSmode contained
\ '\v(none|(top|bot)?(left|right)|(top|bottom))$'
syn match mrxvtOptions nextgroup=mrxvtGrkKbd,mrxvtValErr
\ '\v^\w+[.*]greek_keyboard:\s*'
syn match mrxvtGrkKbd contained '\v(iso|ibm)$'
syn match mrxvtOptions nextgroup=mrxvtXftWt,mrxvtValErr
\ '\v^\w+[.*]xftWeight:\s*'
syn match mrxvtXftWt contained '\v(light|medium|bold)$'
syn match mrxvtOptions nextgroup=mrxvtXftSl,mrxvtValErr
\ '\v^\w+[.*]xftSlant:\s*'
syn match mrxvtXftSl contained '\v(roman|italic|oblique)$'
syn match mrxvtOptions nextgroup=mrxvtXftWd,mrxvtValErr
\ '\v^\w+[.*]xftWidth:\s*'
syn match mrxvtXftWd contained
\ '\v((ultra)?(condensed|expanded)|normal)$'
syn match mrxvtOptions nextgroup=mrxvtXftHt,mrxvtValErr
\ '\v^\w+[.*]xftRGBA:\s*'
syn match mrxvtXftHt contained '\v(v?(rgb|bgr)|none)$'
syn match mrxvtOptions nextgroup=mrxvtPedit,mrxvtValErr
\ '\v^\w+[.*]preeditType:\s*'
syn match mrxvtPedit contained '\v((Over|Off)TheSpot|Root)$'
syn match mrxvtOptions nextgroup=mrxvtMod,mrxvtValErr
\ '\v^\w+[.*]modifier:\s*'
syn match mrxvtMod contained '\v(alt|meta|hyper|super|mod[1-5])$'
syn match mrxvtOptions nextgroup=mrxvtSelSty,mrxvtValErr
\ '\v^\w+[.*]selectStyle:\s*'
syn match mrxvtSelSty contained '\v(old|oldword)$'
"
" Macros
"
syn match mrxvtOptions nextgroup=mrxvtMacro,mrxvtValErr
\ '\v\c^\w+[.*]macro.(primary\+)?((ctrl|alt|meta|shift)\+)*\w+:\s*'
syn match mrxvtMacro contained nextgroup=mrxvtMacroArg
'\vDummy|Esc|Str|NewTab|Close|GotoTab|MoveTab|Scroll|Copy|Paste|ToggleSubwin|ResizeFont|ToggleVeryBold|ToggleTransparency|ToggleBroadcast|ToggleHold|SetTitle|PrintScreen|SaveConfig|ToggleMacros'
syn match mrxvtMacroArg contained '.*$'
unlet s:strOpts s:boolOpts s:colorOpts s:numOpts
"
" Highlighting groups
"
hi def link mrxvtComment Comment
hi def link mrxvtBoolOpts Statement
hi def link mrxvtColorOpts mrxvtBoolOpts
hi def link mrxvtNumOpts mrxvtBoolOpts
hi def link mrxvtStrOpts mrxvtBoolOpts
hi def link mrxvtOptions mrxvtBoolOpts
hi def link mrxvtBoolVal Boolean
hi def link mrxvtStrVal String
hi def link mrxvtColorVal Constant
hi def link mrxvtNumVal Number
hi def link mrxvtSBstyle mrxvtStrVal
hi def link mrxvtSBalign mrxvtStrVal
hi def link mrxvtTSmode mrxvtStrVal
hi def link mrxvtGrkKbd mrxvtStrVal
hi def link mrxvtXftWt mrxvtStrVal
hi def link mrxvtXftSl mrxvtStrVal
hi def link mrxvtXftWd mrxvtStrVal
hi def link mrxvtXftHt mrxvtStrVal
hi def link mrxvtPedit mrxvtStrVal
hi def link mrxvtMod mrxvtStrVal
hi def link mrxvtSelSty mrxvtStrVal
hi def link mrxvtMacro Identifier
hi def link mrxvtMacroArg String
hi def link mrxvtOptErr Error
hi def link mrxvtValErr Error
" Created : Wed 26 Apr 2006 01:20:53 AM CDT
" Modified : Thu 27 Apr 2006 03:29:13 AM CDT
" Author : Gautam Iyer <[EMAIL PROTECTED]>
" Description : ftplugin for mrxvtrc
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
let b:undo_ftplugin = "setl com< cms< fo<"
setlocal comments=:! commentstring=!\ %s formatoptions-=t formatoptions+=croql
au BufRead,BufNewFile */mrxvtrc,.mrxvtrc set filetype=mrxvtrc