2 " Language: Fvwm{1,2} configuration file
3 " Maintainer: Gautam Iyer <gi1242@users.sourceforge.net>
4 " Previous Maintainer: Haakon Riiser <hakonrk@fys.uio.no>
5 " Last Change: Sat 04 Nov 2006 11:28:37 PM PST
7 " Thanks to David Necas (Yeti) for adding Fvwm 2.4 support.
9 " 2006-05-09 gi1242: Rewrote fvwm2 syntax completely. Also since fvwm1 is now
10 " mostly obsolete, made the syntax file pick fvwm2 syntax by default.
12 if exists("b:current_syntax")
16 " Fvwm configuration files are case insensitive
19 " Identifiers in Fvwm can contain most characters, so we only
20 " include the most common ones here.
21 setlocal iskeyword=_,-,+,.,a-z,A-Z,48-57
23 " Syntax items common to fvwm1 and fvwm2 config files
24 syn cluster fvwmConstants contains=fvwmEnvVar,fvwmNumber
25 syn match fvwmEnvVar "\$\w\+"
26 syn match fvwmNumber '\v<(\d+|0x[0-9a-f]+)>'
28 syn match fvwmModConf nextgroup=fvwmModArg "\v^\s*\*\a+"
29 syn region fvwmModArg contained contains=fvwmString,fvwmRGBValue
30 \ start='.' skip='\\$' end='$'
32 syn region fvwmString contains=fvwmBackslash start='"'
33 \ matchgroup=fvwmBackslash skip='\v\\"' end='"'
34 syn region fvwmString contains=fvwmBackslash start='`'
35 \ matchgroup=fvwmBackslash skip='\v\\`' end='`'
36 syn region fvwmString contains=fvwmBackslash start="'"
37 \ matchgroup=fvwmBackslash skip="\v\\'" end="'"
38 syn match fvwmBackslash contained '\\[^"'`]'
40 syn match fvwmRGBValue "#\x\{3}"
41 syn match fvwmRGBValue "#\x\{6}"
42 syn match fvwmRGBValue "#\x\{9}"
43 syn match fvwmRGBValue "#\x\{12}"
44 syn match fvwmRGBValue "rgb:\x\{1,4}/\x\{1,4}/\x\{1,4}"
46 syn region fvwmComment contains=@Spell start="^\s*#" skip='\\$' end='$'
48 if (exists("b:fvwm_version") && b:fvwm_version == 1)
49 \ || (exists("use_fvwm_1") && use_fvwm_1)
52 " Syntax highlighting for Fvwm1 files.
55 " Moved from common syntax items
56 syn match fvwmModule "\<Module\s\+\w\+"he=s+6
57 syn keyword fvwmExec Exec
58 syn match fvwmPath "\<IconPath\s.*$"lc=8 contains=fvwmEnvVar
59 syn match fvwmPath "\<ModulePath\s.*$"lc=10 contains=fvwmEnvVar
60 syn match fvwmPath "\<PixmapPath\s.*$"lc=10 contains=fvwmEnvVar
61 syn match fvwmKey "\<Key\s\+\w\+"he=s+3
63 " fvwm1 specific items
64 syn match fvwmEnvVar "\$(\w\+)"
65 syn match fvwmWhitespace contained "\s\+"
66 syn region fvwmStyle oneline keepend
67 \ contains=fvwmString,fvwmKeyword,fvwmWhiteSpace
68 \ matchgroup=fvwmFunction
69 \ start="^\s*Style\>"hs=e-5 end="$"
71 syn keyword fvwmFunction AppsBackingStore AutoRaise BackingStore Beep
72 \ BoundaryWidth ButtonStyle CenterOnCirculate
73 \ CirculateDown CirculateHit CirculateSkip
74 \ CirculateSkipIcons CirculateUp ClickTime
75 \ ClickToFocus Close Cursor CursorMove
76 \ DecorateTransients Delete Desk DeskTopScale
77 \ DeskTopSize Destroy DontMoveOff
78 \ EdgeResistance EdgeScroll EndFunction
79 \ EndMenu EndPopup Focus Font Function
80 \ GotoPage HiBackColor HiForeColor Icon
81 \ IconBox IconFont Iconify IconPath Key
82 \ Lenience Lower Maximize MenuBackColor
83 \ MenuForeColor MenuStippleColor Module
84 \ ModulePath Mouse Move MWMBorders MWMButtons
85 \ MWMDecorHints MWMFunctionHints
86 \ MWMHintOverride MWMMenus NoBorder
87 \ NoBoundaryWidth Nop NoPPosition NoTitle
88 \ OpaqueMove OpaqueResize Pager PagerBackColor
89 \ PagerFont PagerForeColor PagingDefault
90 \ PixmapPath Popup Quit Raise RaiseLower
91 \ RandomPlacement Refresh Resize Restart
92 \ SaveUnders Scroll SloppyFocus SmartPlacement
93 \ StartsOnDesk StaysOnTop StdBackColor
94 \ StdForeColor Stick Sticky StickyBackColor
95 \ StickyForeColor StickyIcons
96 \ StubbornIconPlacement StubbornIcons
97 \ StubbornPlacement SuppressIcons Title
98 \ TogglePage Wait Warp WindowFont WindowList
99 \ WindowListSkip WindowsDesk WindowShade
102 " These keywords are only used after the "Style" command. To avoid
103 " name collision with several commands, they are contained.
104 syn keyword fvwmKeyword contained
105 \ BackColor BorderWidth BoundaryWidth Button
106 \ CirculateHit CirculateSkip Color DoubleClick
107 \ ForeColor Handles HandleWidth Icon IconTitle
108 \ NoBorder NoBoundaryWidth NoButton NoHandles
109 \ NoIcon NoIconTitle NoTitle Slippery
110 \ StartIconic StartNormal StartsAnyWhere
111 \ StartsOnDesk StaysOnTop StaysPut Sticky
112 \ Title WindowListHit WindowListSkip
114 " elseif (exists("b:fvwm_version") && b:fvwm_version == 2)
115 " \ || (exists("use_fvwm_2") && use_fvwm_2)
119 " Syntax highlighting for fvwm2 files.
121 syn match fvwmEnvVar "\${\w\+}"
122 syn match fvwmEnvVar "\$\[[^]]\+\]"
123 syn match fvwmEnvVar "\$[$0-9*]"
125 syn match fvwmDef contains=fvwmMenuString,fvwmWhitespace
127 syn region fvwmMenuString contains=fvwmIcon,fvwmShortcutKey
128 \ start='^\s*+\s*\zs"' skip='\v\\\\|\\\"' end='"'
129 syn region fvwmIcon contained start='\v\%\%@!' end='%'
130 syn match fvwmShortcutKey contained "&."
132 syn keyword fvwmModuleName FvwmAnimate FvwmAudio FvwmAuto FvwmBacker
133 \ FvwmBanner FvwmButtons FvwmCommandS
134 \ FvwmConsole FvwmCpp FvwmDebug FvwmDragWell
135 \ FvwmEvent FvwmForm FvwmGtk FvwmIconBox
136 \ FvwmIconMan FvwmIdent FvwmM4 FvwmPager
137 \ FvwmSave FvwmSaveDesk FvwmScript FvwmScroll
138 \ FvwmTaskBar FvwmWinList FvwmWharf
139 " Obsolete fvwmModuleName: FvwmTheme
141 syn keyword fvwmKeyword AddToMenu ChangeMenuStyle CopyMenuStyle
142 \ DestroyMenu DestroyMenuStyle Menu
143 \ Popup TearMenuOff Title BugOpts BusyCursor
144 \ ClickTime ColorLimit ColormapFocus
145 \ DefaultColors DefaultColorset DefaultFont
146 \ DefaultIcon DefaultLayers Deschedule Emulate
147 \ EscapeFunc FakeClick FakeKeypress GlobalOpts
148 \ HilightColor HilightColorset IconFont
149 \ PrintInfo Repeat Schedule State WindowFont
150 \ XSync XSynchronize AnimatedMove
151 \ HideGeometryWindow Layer Lower Move
152 \ MoveToDesk MoveThreshold MoveToPage
153 \ MoveToScreen OpaqueMoveSize PlaceAgain Raise
154 \ RaiseLower ResizeMaximize ResizeMove
155 \ ResizeMoveMaximize RestackTransients
156 \ SetAnimation SnapAttraction SnapGrid
157 \ WindowsDesk XorPixmap XorValue CursorMove
158 \ FlipFocus Focus WarpToWindow Close Delete
159 \ Destroy Iconify Recapture RecaptureWindow
160 \ Refresh RefreshWindow Stick StickAcrossPages
161 \ StickAcrossDesks WindowShade
162 \ WindowShadeAnimate IgnoreModifiers
163 \ EdgeCommand EdgeLeaveCommand GnomeButton
164 \ Stroke StrokeFunc FocusStyle DestroyStyle
165 \ UpdateStyles AddToDecor BorderStyle
166 \ ChangeDecor DestroyDecor UpdateDecor
167 \ DesktopName DeskTopSize EdgeResistance
168 \ EdgeScroll EdgeThickness EwmhBaseStruts
169 \ EWMHNumberOfDesktops GotoDeskAndPage
170 \ GotoPage Scroll Xinerama
171 \ XineramaPrimaryScreen XineramaSls
172 \ XineramaSlsSize XineramaSlsScreens AddToFunc
173 \ Beep DestroyFunc Echo Exec ExecUseShell
174 \ Function Nop PipeRead Read SetEnv Silent
175 \ UnsetEnv Wait DestroyModuleConfig KillModule
176 \ Module ModuleSynchronous ModuleTimeout
177 \ SendToModule Quit QuitScreen QuitSession
178 \ Restart SaveSession SaveQuitSession KeepRc
179 \ NoWindow Break CleanupColorsets
181 " Conditional commands
182 syn keyword fvwmKeyword nextgroup=fvwmCondition skipwhite
183 \ All Any Current Next None Pick PointerWindow
185 syn keyword fvwmKeyword nextgroup=fvwmDirection skipwhite
187 syn keyword fvwmDirection contained nextgroup=fvwmDirection skipwhite
189 syn keyword fvwmDirection contained nextgroup=fvwmCondition skipwhite
190 \ North Northeast East Southeast South
191 \ Southwest West Northwest Center
192 syn region fvwmCondition contained contains=fvwmCondNames,fvwmString
193 \ matchgroup=fvwmKeyword start='(' skip=','
195 syn keyword fvwmCondNames contained
196 \ AcceptsFocus AnyScreen CirculateHit
197 \ CirculateHitIcon CirculateHitShaded Closable
198 \ CurrentDesk CurrentGlobalPage
199 \ CurrentGlobalPageAnyDesk CurrentPage
200 \ CurrentPageAnyDesk CurrentScreen FixedSize
201 \ Focused HasHandles HasPointer Iconic
202 \ Iconifiable Maximizable Maximized
203 \ Overlapped PlacedByButton3 PlacedByFvwm Raised
204 \ Shaded Sticky StickyAcrossDesks
205 \ StickyAcrossPages Transient Visible
206 syn keyword fvwmCondNames contained skipwhite nextgroup=@fvwmConstants
210 syn keyword fvwmKeyword nextgroup=fvwmTCond skipwhite
212 syn region fvwmTCond contained contains=fvwmTCNames,fvwmString
213 \ matchgroup=fvwmKeyword start='(' end=')'
214 syn keyword fvwmTCNames contained
215 \ Version EnvIsSet EnvMatch EdgeHasPointer
216 \ EdgeIsActive Start Init Restart Exit Quit
217 \ ToRestart True False F R W X I
220 syn keyword fvwmKeyword nextgroup=fvwmTRCond skipwhite
222 syn region fvwmTRCond contained contains=fvwmTRNames,fvwmNumber
223 \ matchgroup=fvwmKeyword start='(' end=')'
224 syn keyword fvwmTRNames contained NoMatch Match Error Break
227 syn keyword fvwmKeyword nextgroup=fvwmCSArgs skipwhite
229 syn region fvwmCSArgs contained transparent contains=fvwmCSNames,@fvwmConstants,fvwmString,fvwmRGBValue,fvwmGradient
230 \ start='.' skip='\\$' end='$'
231 syn keyword fvwmCSNames contained
232 \ fg Fore Foreground bg Back Background hi
233 \ Hilite Hilight sh Shade Shadow fgsh Pixmap
234 \ TiledPixmap AspectPixmap RootTransparent
235 \ Shape TiledShape AspectShape Tint fgTint
236 \ bgTint Alpha fgAlpha Dither IconTint
237 \ IconAlpha NoShape Plain Translucent
238 syn match fvwmCSNames contained '\v<Transparent>'
239 syn match fvwmGradient contained '\v<[HVDBSCRY]Gradient>'
242 syn keyword fvwmKeyword nextgroup=fvwmStyleArgs skipwhite
244 syn region fvwmStyleArgs contained transparent contains=fvwmStyleNames,@fvwmConstants,fvwmString,fvwmRGBValue
245 \ start='.' skip='\\$' end='$'
246 syn keyword fvwmStyleNames contained
247 \ BorderWidth HandleWidth NoIcon Icon MiniIcon
248 \ IconBox IconGrid IconFill IconSize NoTitle
249 \ Title TitleAtBottom TitleAtLeft TitleAtRight
250 \ TitleAtTop LeftTitleRotatedCW
251 \ LeftTitleRotatedCCW RightTitleRotatedCCW
252 \ RightTitleRotatedCW TopTitleRotated
253 \ TopTitleNotRotated BottomTitleRotated
254 \ BottomTitleNotRotated UseTitleDecorRotation
255 \ StippledTitle StippledTitleOff
256 \ IndexedWindowName ExactWindowName
257 \ IndexedIconName ExactIconName Borders
258 \ NoHandles Handles WindowListSkip
259 \ WindowListHit CirculateSkip CirculateHit
260 \ CirculateSkipShaded CirculateHitShaded Layer
261 \ StaysOnTop StaysOnBottom StaysPut Sticky
262 \ Slippery StickyAcrossPages StickyAcrossDesks
263 \ StartIconic StartNormal Color ForeColor
264 \ BackColor Colorset HilightFore HilightBack
265 \ HilightColorset BorderColorset
266 \ HilightBorderColorset IconTitleColorset
267 \ HilightIconTitleColorset
268 \ IconBackgroundColorset IconTitleRelief
269 \ IconBackgroundRelief IconBackgroundPadding
270 \ Font IconFont StartsOnDesk StartsOnPage
271 \ StartsAnyWhere StartsOnScreen
272 \ ManualPlacementHonorsStartsOnPage
273 \ ManualPlacementIgnoresStartsOnPage
274 \ CaptureHonorsStartsOnPage
275 \ CaptureIgnoresStartsOnPage
276 \ RecaptureHonorsStartsOnPage
277 \ RecaptureIgnoresStartsOnPage
278 \ StartsOnPageIncludesTransients
279 \ StartsOnPageIgnoresTransients IconTitle
280 \ NoIconTitle MwmButtons FvwmButtons MwmBorder
281 \ FvwmBorder MwmDecor NoDecorHint MwmFunctions
282 \ NoFuncHint HintOverride NoOverride NoButton
283 \ Button ResizeHintOverride NoResizeOverride
284 \ OLDecor NoOLDecor GNOMEUseHints
285 \ GNOMEIgnoreHints StickyIcon SlipperyIcon
286 \ StickyAcrossPagesIcon StickyAcrossDesksIcon
287 \ ManualPlacement CascadePlacement
288 \ MinOverlapPlacement
289 \ MinOverlapPercentPlacement
290 \ TileManualPlacement TileCascadePlacement
291 \ CenterPlacement MinOverlapPlacementPenalties
292 \ MinOverlapPercentPlacementPenalties
293 \ DecorateTransient NakedTransient
294 \ DontRaiseTransient RaiseTransient
295 \ DontLowerTransient LowerTransient
296 \ DontStackTransientParent
297 \ StackTransientParent SkipMapping ShowMapping
298 \ ScatterWindowGroups KeepWindowGroupsOnDesk
299 \ UseDecor UseStyle NoPPosition UsePPosition
300 \ NoUSPosition UseUSPosition
301 \ NoTransientPPosition UseTransientPPosition
302 \ NoTransientUSPosition UseTransientUSPosition
303 \ NoIconPosition UseIconPosition Lenience
304 \ NoLenience ClickToFocus SloppyFocus
305 \ MouseFocus FocusFollowsMouse NeverFocus
306 \ ClickToFocusPassesClickOff
307 \ ClickToFocusPassesClick
308 \ ClickToFocusRaisesOff ClickToFocusRaises
309 \ MouseFocusClickRaises
310 \ MouseFocusClickRaisesOff GrabFocus
311 \ GrabFocusOff GrabFocusTransientOff
312 \ GrabFocusTransient FPFocusClickButtons
313 \ FPFocusClickModifiers
314 \ FPSortWindowlistByFocus FPClickRaisesFocused
315 \ FPClickDecorRaisesFocused
316 \ FPClickIconRaisesFocused
317 \ FPClickRaisesUnfocused
318 \ FPClickDecorRaisesUnfocused
319 \ FPClickIconRaisesUnfocused FPClickToFocus
320 \ FPClickDecorToFocus FPClickIconToFocus
321 \ FPEnterToFocus FPLeaveToUnfocus
322 \ FPFocusByProgram FPFocusByFunction
323 \ FPFocusByFunctionWarpPointer FPLenient
324 \ FPPassFocusClick FPPassRaiseClick
325 \ FPIgnoreFocusClickMotion
326 \ FPIgnoreRaiseClickMotion
327 \ FPAllowFocusClickFunction
328 \ FPAllowRaiseClickFunction FPGrabFocus
329 \ FPGrabFocusTransient FPOverrideGrabFocus
330 \ FPReleaseFocus FPReleaseFocusTransient
331 \ FPOverrideReleaseFocus StartsLowered
332 \ StartsRaised IgnoreRestack AllowRestack
333 \ FixedPosition VariablePosition
334 \ FixedUSPosition VariableUSPosition
335 \ FixedPPosition VariablePPosition FixedSize
336 \ VariableSize FixedUSSize VariableUSSize
337 \ FixedPSize VariablePSize Closable
338 \ Iconifiable Maximizable
339 \ AllowMaximizeFixedSize IconOverride
340 \ NoIconOverride NoActiveIconOverride
341 \ DepressableBorder FirmBorder MaxWindowSize
342 \ IconifyWindowGroups IconifyWindowGroupsOff
343 \ ResizeOpaque ResizeOutline BackingStore
344 \ BackingStoreOff BackingStoreWindowDefault
345 \ Opacity ParentalRelativity SaveUnder
346 \ SaveUnderOff WindowShadeShrinks
347 \ WindowShadeScrolls WindowShadeSteps
348 \ WindowShadeAlwaysLazy WindowShadeBusy
349 \ WindowShadeLazy EWMHDonateIcon
350 \ EWMHDontDonateIcon EWMHDonateMiniIcon
351 \ EWMHDontDonateMiniIcon EWMHMiniIconOverride
352 \ EWMHNoMiniIconOverride
353 \ EWMHUseStackingOrderHints
354 \ EWMHIgnoreStackingOrderHints
355 \ EWMHIgnoreStateHints EWMHUseStateHints
356 \ EWMHIgnoreStrutHints EWMHUseStrutHints
357 \ EWMHMaximizeIgnoreWorkingArea
358 \ EWMHMaximizeUseWorkingArea
359 \ EWMHMaximizeUseDynamicWorkingArea
360 \ EWMHPlacementIgnoreWorkingArea
361 \ EWMHPlacementUseWorkingArea
362 \ EWMHPlacementUseDynamicWorkingArea
363 \ MoveByProgramMethod Unmanaged State
366 syn keyword fvwmKeyword nextgroup=fvwmCursorStyle skipwhite
369 syn keyword fvwmCursorStyle contained
370 \ POSITION TITLE DEFAULT SYS MOVE RESIZE WAIT
371 \ MENU SELECT DESTROY TOP RIGHT BOTTOM LEFT
372 \ TOP_LEFT TOP_RIGHT BOTTOM_LEFT BOTTOM_RIGHT
373 \ TOP_EDGE RIGHT_EDGE BOTTOM_EDGE LEFT_EDGE
378 syn keyword fvwmKeyword nextgroup=fvwmMStyleArgs skipwhite
380 syn region fvwmMStyleArgs contained transparent contains=fvwmMStyleNames,@fvwmConstants,fvwmString,fvwmGradient,fvwmRGBValue
381 \ start='.' skip='\\$' end='$'
382 syn keyword fvwmMStyleNames contained
383 \ Fvwm Mwm Win BorderWidth Foreground
384 \ Background Greyed HilightBack HilightBackOff
385 \ ActiveFore ActiveForeOff MenuColorset
386 \ ActiveColorset GreyedColorset Hilight3DThick
387 \ Hilight3DThin Hilight3DOff
388 \ Hilight3DThickness Animation AnimationOff
389 \ Font MenuFace PopupDelay PopupOffset
390 \ TitleWarp TitleWarpOff TitleUnderlines0
391 \ TitleUnderlines1 TitleUnderlines2
392 \ SeparatorsLong SeparatorsShort
393 \ TrianglesSolid TrianglesRelief
394 \ PopupImmediately PopupDelayed
395 \ PopdownImmediately PopdownDelayed
396 \ PopupActiveArea DoubleClickTime SidePic
397 \ SideColor PopupAsRootMenu PopupAsSubmenu
398 \ PopupIgnore PopupClose RemoveSubmenus
399 \ HoldSubmenus SubmenusRight SubmenusLeft
400 \ SelectOnRelease ItemFormat
401 \ VerticalItemSpacing VerticalTitleSpacing
402 \ AutomaticHotkeys AutomaticHotkeysOff
405 syn keyword fvwmKeyword nextgroup=fvwmBNum skipwhite
406 \ ButtonStyle AddButtonStyle
407 syn match fvwmBNum contained
408 \ nextgroup=fvwmBState,fvwmBStyleArgs skipwhite
409 \ '\v<([0-9]|All|Left|Right|Reset)>'
410 syn keyword fvwmBState contained nextgroup=fvwmBStyleArgs skipwhite
411 \ ActiveUp ActiveDown InactiveUp InactiveDown
412 \ Active Inactive ToggledActiveUp
413 \ ToggledActiveDown ToggledInactiveUp
414 \ ToggledInactiveDown ToggledActive
415 \ ToggledInactive AllNormal AllToggled
416 \ AllActive AllInactive AllUp AllDown
417 syn region fvwmBStyleArgs contained contains=fvwmBStyleFlags,fvwmBStyleNames,fvwmGradient,fvwmRGBValue,@fvwmConstants,fvwmString
418 \ start='\S' skip='\\$' end='$'
419 syn keyword fvwmBStyleNames contained
420 \ Simple Default Solid Colorset Vector Pixmap
421 \ AdjustedPixmap ShrunkPixmap StretchedPixmap
422 \ TiledPixmap MiniIcon
423 syn keyword fvwmBStyleFlags contained
424 \ Raised Sunk Flat UseTitleStyle
428 syn keyword fvwmKeyword skipwhite nextgroup=fvwmBdState,fvwmBdStyleArgs
430 syn keyword fvwmBdState contained skipwhite nextgroup=fvwmBdStyleArgs
432 syn region fvwmBdStyleArgs contained contains=fvwmBdStyNames,fvwmBdStyFlags
433 \ start='\S' skip='\\$' end='$'
434 syn keyword fvwmBdStyNames contained
435 \ TiledPixmap Colorset
436 syn keyword fvwmBdStyFlags contained
437 \ HiddenHandles NoInset Raised Sunk Flat
440 syn keyword fvwmKeyword skipwhite nextgroup=fvwmTState,fvwmTStyleArgs
441 \ TitleStyle AddTitleStyle
442 syn keyword fvwmTState contained skipwhite nextgroup=fvwmTStyleArgs
443 \ ActiveUp ActiveDown InactiveUp InactiveDown
444 \ Active Inactive ToggledActiveUp
445 \ ToggledActiveDown ToggledInactiveUp
446 \ ToggledInactiveDown ToggledActive
447 \ ToggledInactive AllNormal AllToggled
448 \ AllActive AllInactive AllUp AllDown
449 syn region fvwmTStyleArgs contained contains=fvwmBStyleNames,fvwmTStyleNames,fvwmMPmapNames,fvwmTStyleFlags,fvwmGradient,fvwmRGBValue,@fvwmConstants
450 \ start='\S' skip='\\$' end='$'
451 syn keyword fvwmTStyleNames contained
453 syn keyword fvwmTStyleNames contained
454 \ LeftJustified Centered RightJustified Height
456 syn keyword fvwmMPmapNames contained
457 \ Main LeftMain RightMain UnderText LeftOfText
458 \ RightOfText LeftEnd RightEnd Buttons
459 \ LeftButtons RightButtons
460 syn keyword fvwmTStyleFlags contained
464 syn keyword fvwmKeyword nextgroup=fvwmBStateArgs
466 syn region fvwmBStateArgs contained contains=fvwmBStateTF,fvwmBStateNames
467 \ start='.' skip='\\$' end='$'
468 syn keyword fvwmBStateNames contained ActiveDown Inactive InactiveDown
469 syn keyword fvwmBStateTF contained True False
472 syn keyword fvwmKeyword nextgroup=fvwmPath skipwhite
473 \ IconPath ImagePath LocalePath PixmapPath
475 syn match fvwmPath contained contains=fvwmEnvVar '\v.+$'
477 " Window list command
478 syn keyword fvwmKeyword nextgroup=fvwmWLArgs skipwhite
480 syn region fvwmWLArgs contained
481 \ contains=fvwmCondition,@fvwmConstants,fvwmString,fvwmWLOpts
482 \ start='.' skip='\\$' end='$'
483 syn keyword fvwmWLOpts contained
484 \ Geometry NoGeometry NoGeometryWithInfo
485 \ NoDeskNum NoNumInDeskTitle
486 \ NoCurrentDeskTitle MaxLabelWidth width
487 \ TitleForAllDesks Function funcname Desk
488 \ desknum CurrentDesk NoIcons Icons OnlyIcons
489 \ NoNormal Normal OnlyNormal NoSticky Sticky
490 \ OnlySticky NoStickyAcrossPages
491 \ StickyAcrossPages OnlyStickyAcrossPages
492 \ NoStickyAcrossDesks StickyAcrossDesks
493 \ OnlyStickyAcrossDesks NoOnTop OnTop
494 \ OnlyOnTop NoOnBottom OnBottom OnlyOnBottom
495 \ Layer UseListSkip OnlyListSkip NoDeskSort
496 \ ReverseOrder CurrentAtEnd IconifiedAtEnd
497 \ UseIconName Alphabetic NotAlphabetic
498 \ SortByResource SortByClass NoHotkeys
501 syn keyword fvwmSpecialFn StartFunction InitFunction RestartFunction
502 \ ExitFunction SessionInitFunction
503 \ SessionRestartFunction SessionExitFunction
504 \ MissingSubmenuFunction WindowListFunc
506 syn keyword fvwmKeyword skipwhite nextgroup=fvwmKeyWin,fvwmKeyName
508 syn region fvwmKeyWin contained skipwhite nextgroup=fvwmKeyName
511 syn match fvwmKeyName contained skipwhite nextgroup=fvwmKeyContext
512 \ '\v<([a-zA-Z0-9]|F\d+|KP_\d)>'
513 syn keyword fvwmKeyName contained skipwhite nextgroup=fvwmKeyContext
514 \ BackSpace Begin Break Cancel Clear Delete
515 \ Down End Escape Execute Find Help Home
516 \ Insert KP_Add KP_Begin KP_Decimal KP_Delete
517 \ KP_Divide KP_Down KP_End KP_Enter KP_Equal
518 \ KP_Home KP_Insert KP_Left KP_Multiply
519 \ KP_Next KP_Page_Down KP_Page_Up KP_Prior
520 \ KP_Right KP_Separator KP_Space KP_Subtract
521 \ KP_Tab KP_Up Left Linefeed Menu Mode_switch
522 \ Next Num_Lock Page_Down Page_Up Pause Print
523 \ Prior Redo Return Right script_switch
524 \ Scroll_Lock Select Sys_Req Tab Undo Up space
525 \ exclam quotedbl numbersign dollar percent
526 \ ampersand apostrophe quoteright parenleft
527 \ parenright asterisk plus comma minus period
528 \ slash colon semicolon less equal greater
529 \ question at bracketleft backslash
530 \ bracketright asciicircum underscore grave
531 \ quoteleft braceleft bar braceright
534 syn match fvwmKeyContext contained skipwhite nextgroup=fvwmKeyMods
535 \ '\v<[][RWDTS_F<^>vI0-9AM-]+>'
536 syn match fvwmKeyMods contained '\v[NCSMLA1-5]+'
539 syn keyword fvwmKeyword skipwhite nextgroup=fvwmMouseWin,fvwmMouseButton
541 syn region fvwmMouseWin contained skipwhite nextgroup=fvwmMouseButton
543 syn match fvwmMouseButton contained skipwhite nextgroup=fvwmKeyContext
547 " Define syntax highlighting groups
550 " Common highlighting groups
552 hi def link fvwmComment Comment
553 hi def link fvwmEnvVar Macro
554 hi def link fvwmNumber Number
555 hi def link fvwmKeyword Keyword
556 hi def link fvwmPath Constant
557 hi def link fvwmModConf Macro
558 hi def link fvwmRGBValue Constant
559 hi def link fvwmString String
560 hi def link fvwmBackslash SpecialChar
564 " Highlighting groups for fvwm1 specific items
566 hi def link fvwmExec fvwmKeyword
567 hi def link fvwmKey fvwmKeyword
568 hi def link fvwmModule fvwmKeyword
569 hi def link fvwmFunction Function
572 " Highlighting groups for fvwm2 specific items
574 hi def link fvwmSpecialFn Type
575 hi def link fvwmCursorStyle fvwmStyleNames
576 hi def link fvwmStyleNames Identifier
577 hi def link fvwmMStyleNames fvwmStyleNames
578 hi def link fvwmCSNames fvwmStyleNames
579 hi def link fvwmGradient fvwmStyleNames
580 hi def link fvwmCondNames fvwmStyleNames
581 hi def link fvwmTCNames fvwmStyleNames
582 hi def link fvwmTRNames fvwmStyleNames
583 hi def link fvwmWLOpts fvwmStyleNames
585 hi def link fvwmBNum Number
586 hi def link fvwmBState Type
587 hi def link fvwmBStyleNames fvwmStyleNames
588 hi def link fvwmBStyleFlags Special
590 hi def link fvwmBStateTF Constant
591 hi def link fvwmBStateNames fvwmStyleNames
593 hi def link fvwmBdState fvwmBState
594 hi def link fvwmBdStyNames fvwmStyleNames
595 hi def link fvwmBdStyFlags fvwmBStyleFlags
597 hi def link fvwmTState fvwmBState
598 hi def link fvwmTStyleNames fvwmStyleNames
599 hi def link fvwmMPmapNames fvwmBStyleFlags
600 hi def link fvwmTStyleFlags fvwmBStyleFlags
602 hi def link fvwmDirection fvwmBStyleFlags
604 hi def link fvwmKeyWin Constant
605 hi def link fvwmMouseWin fvwmKeyWin
606 hi def link fvwmKeyName Special
607 hi def link fvwmKeyContext fvwmKeyName
608 hi def link fvwmKeyMods fvwmKeyName
609 hi def link fvwmMouseButton fvwmKeyName
611 hi def link fvwmMenuString String
612 hi def link fvwmIcon Type
613 hi def link fvwmShortcutKey SpecialChar
615 hi def link fvwmModuleName Function
617 let b:current_syntax = "fvwm"