summaryrefslogtreecommitdiffstats
path: root/runtime/syntax/fvwm.vim
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/syntax/fvwm.vim')
-rw-r--r--runtime/syntax/fvwm.vim642
1 files changed, 642 insertions, 0 deletions
diff --git a/runtime/syntax/fvwm.vim b/runtime/syntax/fvwm.vim
new file mode 100644
index 0000000..2f96bab
--- /dev/null
+++ b/runtime/syntax/fvwm.vim
@@ -0,0 +1,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