blob: d3e3129317f655bcd6202f24d355bb2137a16929 [file] [log] [blame]
Bram Moolenaar437df8f2006-04-27 21:47:44 +00001" Created : Wed 26 Apr 2006 01:20:53 AM CDT
2" Modified : Thu 27 Apr 2006 02:29:25 PM CDT
3" Author : Gautam Iyer <gi1242@users.sourceforge.net>
4" Description : Syntax file for mrxvtrc
5
6" Quit when a syntax file was already loaded
7if exists("b:current_syntax")
8 finish
9endif
10
11" Define options.
12let 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)'
13
14let 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)'
15
16let 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)'
17
18let 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)'
19
20syn case match
21
22syn match mrxvtrcComment contains=@Spell '^\s*!.*$'
23syn match mrxvtrcComment '\v^\s*!\s*\w+[.*]\w+.*:.*'
24
25"
26" Generic options (string / color / number / boolean)
27"
28syn match mrxvtrcOptErr '\v^\s*\w+[.*]?.{-}(:|$)'
29exec 'syn match mrxvtrcBoolOpts nextgroup=mrxvtrcBoolVal,mrxvtrcValErr'
30 \ '"\v^\w+[.*]'.s:boolOpts.':\s*"'
31exec 'syn match mrxvtrcNumOpts nextgroup=mrxvtrcNumVal,mrxvtrcValErr'
32 \ '"\v^\w+[.*]'.s:numOpts.':\s*"'
33exec 'syn match mrxvtrcColorOpts nextgroup=mrxvtrcColorVal'
34 \ '"\v^\w+[.*]'.s:colorOpts.':\s*"'
35exec 'syn match mrxvtrcStrOpts nextgroup=mrxvtrcStrVal,mrxvtrcValErr'
36 \ '"\v^\w+[.*]'.s:strOpts.':\s*"'
37
38syn case ignore
39
40syn match mrxvtrcValErr contained '\v.+$'
41syn keyword mrxvtrcBoolVal contained 0 1 yes no on off true false
42syn match mrxvtrcStrVal contained '\v.+$'
43syn match mrxvtrcColorVal contained '\v#[0-9a-f]{6}\s*$'
44syn match mrxvtrcNumVal contained '\v[+-]?(0[0-7]+|\d+|0x[0-9a-f]+)$'
45
46syn case match
47
48"
49" Options with special values
50"
51syn match mrxvtrcOptions nextgroup=mrxvtrcSBstyle,mrxvtrcValErr
52 \ '\v^\w+[.*]scrollbarStyle:\s*'
53syn keyword mrxvtrcSBstyle contained plain xterm rxvt next sgi
54
55syn match mrxvtrcOptions nextgroup=mrxvtrcSBalign,mrxvtrcValErr
56 \ '\v^\w+[.*]scrollbarAlign:\s*'
57syn keyword mrxvtrcSBalign contained top bottom
58
59syn match mrxvtrcOptions nextgroup=mrxvtrcTSmode,mrxvtrcValErr
60 \ '\v^\w+[.*]textShadowMode:\s*'
61syn keyword mrxvtrcTSmode contained
62 \ none top bottom left right topleft topright
63 \ botleft botright
64
65syn match mrxvtrcOptions nextgroup=mrxvtrcGrkKbd,mrxvtrcValErr
66 \ '\v^\w+[.*]greek_keyboard:\s*'
67syn keyword mrxvtrcGrkKbd contained iso ibm
68
69syn match mrxvtrcOptions nextgroup=mrxvtrcXftWt,mrxvtrcValErr
70 \ '\v^\w+[.*]xftWeight:\s*'
71syn keyword mrxvtrcXftWt contained light medium bold
72
73syn match mrxvtrcOptions nextgroup=mrxvtrcXftSl,mrxvtrcValErr
74 \ '\v^\w+[.*]xftSlant:\s*'
75syn keyword mrxvtrcXftSl contained roman italic oblique
76
77syn match mrxvtrcOptions nextgroup=mrxvtrcXftWd,mrxvtrcValErr
78 \ '\v^\w+[.*]xftWidth:\s*'
79syn keyword mrxvtrcXftWd contained
80 \ ultracondensed ultraexpanded
81 \ condensed expanded normal
82
83syn match mrxvtrcOptions nextgroup=mrxvtrcXftHt,mrxvtrcValErr
84 \ '\v^\w+[.*]xftRGBA:\s*'
85syn keyword mrxvtrcXftHt contained rgb bgr vrgb vbgr none
86
87syn match mrxvtrcOptions nextgroup=mrxvtrcPedit,mrxvtrcValErr
88 \ '\v^\w+[.*]preeditType:\s*'
89syn keyword mrxvtrcPedit contained OverTheSpot OffTheSpot Root
90
91syn match mrxvtrcOptions nextgroup=mrxvtrcMod,mrxvtrcValErr
92 \ '\v^\w+[.*]modifier:\s*'
93syn keyword mrxvtrcMod contained
94 \ alt meta hyper super mod1 mod2 mod3 mod4 mod5
95
96syn match mrxvtrcOptions nextgroup=mrxvtrcSelSty,mrxvtrcValErr
97 \ '\v^\w+[.*]selectStyle:\s*'
98syn keyword mrxvtrcSelSty contained old oldword
99
100
101"
102" Macros
103"
104syn match mrxvtrcOptions nextgroup=mrxvtrcMacro,mrxvtrcValErr
105 \ '\v\c^\w+[.*]macro.(primary\+)?((ctrl|alt|meta|shift)\+)*\w+:\s*'
106syn keyword mrxvtrcMacro contained nextgroup=mrxvtrcMacroArg
107 \ Dummy Esc Str NewTab Close GotoTab MoveTab
108 \ Scroll Copy Paste ToggleSubwin ResizeFont
109 \ ToggleVeryBold ToggleTransparency
110 \ ToggleBroadcast ToggleHold SetTitle
111 \ PrintScreen SaveConfig ToggleMacros
112syn match mrxvtrcMacroArg contained '.\+$'
113
114
115unlet s:strOpts s:boolOpts s:colorOpts s:numOpts
116
117"
118" Highlighting groups
119"
120hi def link mrxvtrcComment Comment
121
122hi def link mrxvtrcBoolOpts Statement
123hi def link mrxvtrcColorOpts mrxvtrcBoolOpts
124hi def link mrxvtrcNumOpts mrxvtrcBoolOpts
125hi def link mrxvtrcStrOpts mrxvtrcBoolOpts
126hi def link mrxvtrcOptions mrxvtrcBoolOpts
127
128hi def link mrxvtrcBoolVal Boolean
129hi def link mrxvtrcStrVal String
130hi def link mrxvtrcColorVal Constant
131hi def link mrxvtrcNumVal Number
132
133hi def link mrxvtrcSBstyle mrxvtrcStrVal
134hi def link mrxvtrcSBalign mrxvtrcStrVal
135hi def link mrxvtrcTSmode mrxvtrcStrVal
136hi def link mrxvtrcGrkKbd mrxvtrcStrVal
137hi def link mrxvtrcXftWt mrxvtrcStrVal
138hi def link mrxvtrcXftSl mrxvtrcStrVal
139hi def link mrxvtrcXftWd mrxvtrcStrVal
140hi def link mrxvtrcXftHt mrxvtrcStrVal
141hi def link mrxvtrcPedit mrxvtrcStrVal
142hi def link mrxvtrcMod mrxvtrcStrVal
143hi def link mrxvtrcSelSty mrxvtrcStrVal
144
145hi def link mrxvtrcMacro Identifier
146hi def link mrxvtrcMacroArg String
147
148hi def link mrxvtrcOptErr Error
149hi def link mrxvtrcValErr Error
150
151let b:current_syntax = "mrxvtrc"