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

Reply via email to