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