blob: ff1b78399bf8dce6d273b2e4b70acb962839939c [file] [log] [blame]
" Vim syntax file
" Language: Fvwm{1,2} configuration file
" Maintainer: Haakon Riiser <hakonrk@fys.uio.no>
" Last Change: 2002 Jun 2
"
" Thanks to David Necas (Yeti) for adding Fvwm 2.4 support.
" For version 5.x: Clear all syntax items
" For version 6.x: Quit when a syntax file was already loaded
if version < 600
syn clear
elseif exists("b:current_syntax")
finish
endif
" 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.
if version >= 600
setlocal iskeyword=_,-,+,.,a-z,A-Z,48-57
else
set iskeyword=_,-,+,.,a-z,A-Z,48-57
endif
" Read system colors from the color database (rgb.txt)
if exists("rgb_file")
" We don't want any hit-return prompts, so we make sure that
" &shortmess is set to `O'
let __fvwm_oldshm = &shortmess
set shortmess=O
" And we set &report to a huge number, so that no hit-return prompts
" will be given
let __fvwm_oldreport = &report
set report=10000
" Append the color database to the fvwm configuration, and read the
" colors from this buffer
let __fvwm_i = line("$") + 1
exe "$r" rgb_file
let __fvwm_lastline = line("$")
while __fvwm_i <= __fvwm_lastline
let __fvwm_s = matchstr(getline(__fvwm_i), '^\s*\d\+\s\+\d\+\s\+\d\+\s\+\h.*$')
if __fvwm_s != ""
exe "syn keyword fvwmColors ".substitute(__fvwm_s, '^\s*\d\+\s\+\d\+\s\+\d\+\s\+\(\h.*\)$', '\1', "")
endif
let __fvwm_i = __fvwm_i + 1
endwhile
" Remove the appended data
undo
" Goto first line again
1
" and restore the old values of the variables
let &shortmess = __fvwm_oldshm
let &report = __fvwm_oldreport
unlet __fvwm_i __fvwm_s __fvwm_lastline __fvwm_oldshm __fvwm_oldreport
endif
" done reading colors
syn match fvwmWhitespace "\s\+" contained
syn match fvwmEnvVar "\$\w\+"
syn match fvwmModConf "^\s*\*\a\+" contains=fvwmWhitespace
syn match fvwmString '".\{-}"'
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 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 fvwmModule "\<Module\s\+\w\+"he=s+6
syn match fvwmKey "\<Key\s\+\w\+"he=s+3
syn keyword fvwmExec Exec
syn match fvwmComment "^#.*$"
if (exists("b:fvwm_version") && b:fvwm_version == 1) || (exists("use_fvwm_1") && use_fvwm_1)
syn match fvwmEnvVar "\$(\w\+)"
syn region fvwmStyle matchgroup=fvwmFunction start="^\s*Style\>"hs=e-5 end="$" oneline keepend contains=fvwmString,fvwmKeyword,fvwmWhiteSpace
syn keyword fvwmFunction AppsBackingStore AutoRaise BackingStore
syn keyword fvwmFunction Beep BoundaryWidth ButtonStyle
syn keyword fvwmFunction CenterOnCirculate CirculateDown
syn keyword fvwmFunction CirculateHit CirculateSkip
syn keyword fvwmFunction CirculateSkipIcons CirculateUp
syn keyword fvwmFunction ClickTime ClickToFocus Close Cursor
syn keyword fvwmFunction CursorMove DecorateTransients Delete
syn keyword fvwmFunction Desk DeskTopScale DeskTopSize Destroy
syn keyword fvwmFunction DontMoveOff EdgeResistance EdgeScroll
syn keyword fvwmFunction EndFunction EndMenu EndPopup Focus
syn keyword fvwmFunction Font Function GotoPage HiBackColor
syn keyword fvwmFunction HiForeColor Icon IconBox IconFont
syn keyword fvwmFunction Iconify IconPath Key Lenience Lower
syn keyword fvwmFunction Maximize MenuBackColor MenuForeColor
syn keyword fvwmFunction MenuStippleColor Module ModulePath Mouse
syn keyword fvwmFunction Move MWMBorders MWMButtons MWMDecorHints
syn keyword fvwmFunction MWMFunctionHints MWMHintOverride MWMMenus
syn keyword fvwmFunction NoBorder NoBoundaryWidth Nop NoPPosition
syn keyword fvwmFunction NoTitle OpaqueMove OpaqueResize Pager
syn keyword fvwmFunction PagerBackColor PagerFont PagerForeColor
syn keyword fvwmFunction PagingDefault PixmapPath Popup Quit Raise
syn keyword fvwmFunction RaiseLower RandomPlacement Refresh Resize
syn keyword fvwmFunction Restart SaveUnders Scroll SloppyFocus
syn keyword fvwmFunction SmartPlacement StartsOnDesk StaysOnTop
syn keyword fvwmFunction StdBackColor StdForeColor Stick Sticky
syn keyword fvwmFunction StickyBackColor StickyForeColor
syn keyword fvwmFunction StickyIcons StubbornIconPlacement
syn keyword fvwmFunction StubbornIcons StubbornPlacement
syn keyword fvwmFunction SuppressIcons Title TogglePage Wait Warp
syn keyword fvwmFunction WindowFont WindowList WindowListSkip
syn keyword fvwmFunction 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 BackColor BorderWidth BoundaryWidth contained
syn keyword fvwmKeyword Button CirculateHit CirculateSkip Color contained
syn keyword fvwmKeyword DoubleClick ForeColor Handles HandleWidth contained
syn keyword fvwmKeyword Icon IconTitle NoBorder NoBoundaryWidth contained
syn keyword fvwmKeyword NoButton NoHandles NoIcon NoIconTitle contained
syn keyword fvwmKeyword NoTitle Slippery StartIconic StartNormal contained
syn keyword fvwmKeyword StartsAnyWhere StartsOnDesk StaysOnTop contained
syn keyword fvwmKeyword StaysPut Sticky Title WindowListHit contained
syn keyword fvwmKeyword WindowListSkip contained
elseif (exists("b:fvwm_version") && b:fvwm_version == 2) || (exists("use_fvwm_2") && use_fvwm_2)
syn match fvwmEnvVar "\${\w\+}"
syn match fvwmEnvVar "\$\[[^]]\+\]"
syn match fvwmEnvVar "\$[$0-9*]"
syn match fvwmDef '^\s*+\s*".\{-}"' contains=fvwmMenuString,fvwmWhitespace
syn match fvwmIcon '%.\{-}%' contained
syn match fvwmIcon '\*.\{-}\*' contained
syn match fvwmMenuString '".\{-}"' contains=fvwmIcon,fvwmShortcutKey contained
syn match fvwmShortcutKey "&." contained
syn match fvwmModule "\<KillModule\s\+\w\+"he=s+10 contains=fvwmModuleName
syn match fvwmModule "\<SendToModule\s\+\w\+"he=s+12 contains=fvwmModuleName
syn match fvwmModule "\<DestroyModuleConfig\s\+\w\+"he=s+19 contains=fvwmModuleName
syn keyword fvwmFunction AddButtonStyle AddTitleStyle AddToDecor AddToFunc
syn keyword fvwmFunction AddToMenu AnimatedMove Beep BorderStyle BugOpts
syn keyword fvwmFunction BusyCursor ButtonState ButtonStyle ChangeDecor
syn keyword fvwmFunction ChangeMenuStyle ClickTime Close ColorLimit
syn keyword fvwmFunction ColormapFocus CopyMenuStyle Current CursorMove
syn keyword fvwmFunction CursorStyle DefaultColors DefaultColorset
syn keyword fvwmFunction DefaultFont DefaultIcon DefaultLayers Delete Desk
syn keyword fvwmFunction DeskTopSize Destroy DestroyDecor DestroyFunc
syn keyword fvwmFunction DestroyMenu DestroyMenuStyle Direction Echo
syn keyword fvwmFunction EdgeResistance EdgeScroll EdgeThickness Emulate
syn keyword fvwmFunction EscapeFunc Exec ExecUseShell ExitFunction
syn keyword fvwmFunction FakeClick FlipFocus Focus Function GlobalOpts
syn keyword fvwmFunction GnomeButton GotoDesk GotoDeskAndPage GotoPage
syn keyword fvwmFunction HideGeometryWindow HilightColor HilightColorset
syn keyword fvwmFunction IconFont IconPath Iconify IgnoreModifiers
syn keyword fvwmFunction ImagePath Key Layer Lower Maximize Menu MenuStyle
syn keyword fvwmFunction ModulePath ModuleSynchronous ModuleTimeout
syn keyword fvwmFunction Mouse Move MoveThreshold MoveToDesk MoveToPage
syn keyword fvwmFunction MoveToScreen Next None Nop OpaqueMoveSize
syn keyword fvwmFunction PipeRead PixmapPath PlaceAgain PointerKey
syn keyword fvwmFunction Popup Prev Quit QuitScreen QuitSession Raise
syn keyword fvwmFunction RaiseLower Read Recapture RecaptureWindow
syn keyword fvwmFunction Refresh RefreshWindow Resize ResizeMove
syn keyword fvwmFunction Restart SaveQuitSession SaveSession Scroll
syn keyword fvwmFunction SetAnimation SetEnv SetMenuDelay SetMenuStyle
syn keyword fvwmFunction Silent SnapAttraction SnapGrid Stick Stroke
syn keyword fvwmFunction StrokeFunc Style Title TitleStyle UnsetEnv
syn keyword fvwmFunction UpdateDecor UpdateStyles Wait WarpToWindow
syn keyword fvwmFunction WindowFont WindowId WindowList WindowShade
syn keyword fvwmFunction WindowShadeAnimate WindowsDesk Xinerama
syn keyword fvwmFunction XineramaPrimaryScreen XineramaSls XineramaSlsSize
syn keyword fvwmFunction XorPixmap XorValue
syn keyword fvwmKeyword Active ActiveColorset ActiveDown
syn keyword fvwmKeyword ActiveFore ActiveForeOff ActivePlacement
syn keyword fvwmKeyword ActivePlacementHonorsStartsOnPage
syn keyword fvwmKeyword ActivePlacementIgnoresStartsOnPage ActiveUp All
syn keyword fvwmKeyword AllowRestack Alphabetic Anim Animated Animation
syn keyword fvwmKeyword AnimationOff AutomaticHotkeys AutomaticHotkeysOff
syn keyword fvwmKeyword BGradient BackColor Background BackingStore
syn keyword fvwmKeyword BackingStoreOff BorderColorset BorderWidth
syn keyword fvwmKeyword Bottom Button Button0 Button1 Button2 Button3
syn keyword fvwmKeyword Button4 Button5 Button6 Button7 Button8
syn keyword fvwmKeyword Button9 CGradient CaptureHonorsStartsOnPage
syn keyword fvwmKeyword CaptureIgnoresStartsOnPage CascadePlacement
syn keyword fvwmKeyword Centered CirculateHit CirculateHitIcon
syn keyword fvwmKeyword CirculateHitShaded CirculateSkip
syn keyword fvwmKeyword CirculateSkipIcon CirculateSkipShaded Clear
syn keyword fvwmKeyword ClickToFocus ClickToFocusDoesntPassClick
syn keyword fvwmKeyword ClickToFocusDoesntRaise ClickToFocusPassesClick
syn keyword fvwmKeyword ClickToFocusPassesClickOff ClickToFocusRaises
syn keyword fvwmKeyword ClickToFocusRaisesOff Color Colorset Context
syn keyword fvwmKeyword CurrentDesk CurrentPage CurrentPageAnyDesk
syn keyword fvwmKeyword DGradient DecorateTransient Default
syn keyword fvwmKeyword DepressableBorder Desk DontLowerTransient
syn keyword fvwmKeyword DontRaiseTransient DontStackTransientParent
syn keyword fvwmKeyword DoubleClickTime Down DumbPlacement DynamicMenu
syn keyword fvwmKeyword DynamicPopDownAction DynamicPopUpAction
syn keyword fvwmKeyword East Expect FVWM FirmBorder Fixed
syn keyword fvwmKeyword FixedPosition Flat FlickeringMoveWorkaround
syn keyword fvwmKeyword FlickeringQtDialogsWorkaround FocusFollowsMouse
syn keyword fvwmKeyword FollowsFocus FollowsMouse Font ForeColor
syn keyword fvwmKeyword Foreground Function Fvwm FvwmBorder
syn keyword fvwmKeyword FvwmButtons GNOMEIgnoreHints GNOMEUseHints
syn keyword fvwmKeyword GrabFocus GrabFocusOff GrabFocusTransient
syn keyword fvwmKeyword GrabFocusTransientOff Greyed GreyedColorset
syn keyword fvwmKeyword HGradient HandleWidth Handles Height
syn keyword fvwmKeyword HiddenHandles Hilight3DOff Hilight3DThick
syn keyword fvwmKeyword Hilight3DThickness Hilight3DThin HilightBack
syn keyword fvwmKeyword HilightBackOff HilightBorderColorset
syn keyword fvwmKeyword HilightColorset HilightFore HintOverride
syn keyword fvwmKeyword HoldSubmenus Icon IconBox IconFill IconFont
syn keyword fvwmKeyword IconGrid IconOverride IconTitle Iconic
syn keyword fvwmKeyword IconifyWindowGroups IconifyWindowGroupsOff
syn keyword fvwmKeyword Icons IgnoreRestack Inactive Interior Item
syn keyword fvwmKeyword ItemFormat KeepWindowGroupsOnDesk Layer Left
syn keyword fvwmKeyword LeftJustified Lenience LowerTransient MWM
syn keyword fvwmKeyword MWMBorder MWMButtons MWMDecor MWMDecorMax
syn keyword fvwmKeyword MWMDecorMenu MWMDecorMin MWMFunctions
syn keyword fvwmKeyword ManualPlacement ManualPlacementHonorsStartsOnPage
syn keyword fvwmKeyword ManualPlacementIgnoresStartsOnPage MaxWindowSize
syn keyword fvwmKeyword Maximized Menu MenuColorset MenuFace
syn keyword fvwmKeyword MinOverlapPercentPlacement MinOverlapPlacement
syn keyword fvwmKeyword MiniIcon MixedVisualWorkaround ModalityIsEvil
syn keyword fvwmKeyword ModuleSynchronous Mouse MouseFocus
syn keyword fvwmKeyword MouseFocusClickDoesntRaise MouseFocusClickRaises
syn keyword fvwmKeyword MouseFocusClickRaisesOff Move Mwm MwmBorder
syn keyword fvwmKeyword MwmButtons MwmDecor MwmFunctions NakedTransient
syn keyword fvwmKeyword Never NeverFocus NoActiveIconOverride NoButton
syn keyword fvwmKeyword NoDecorHint NoDeskSort NoFuncHint NoGeometry
syn keyword fvwmKeyword NoGeometryWithInfo NoHandles NoHotkeys NoIcon
syn keyword fvwmKeyword NoIconOverride NoIconPosition NoIconTitle
syn keyword fvwmKeyword NoIcons NoInset NoLenience NoNormal
syn keyword fvwmKeyword NoOLDecor NoOnBottom NoOnTop NoOverride
syn keyword fvwmKeyword NoPPosition NoResizeOverride NoSticky
syn keyword fvwmKeyword NoStipledTitles NoTitle NoTransientPPosition
syn keyword fvwmKeyword NoTransientUSPosition NoUSPosition
syn keyword fvwmKeyword NoWarp Normal North Northeast Northwest
syn keyword fvwmKeyword NotAlphabetic OLDecor OnBottom OnTop Once
syn keyword fvwmKeyword OnlyIcons OnlyListSkip OnlyNormal OnlyOnBottom
syn keyword fvwmKeyword OnlyOnTop OnlySticky Opacity ParentalRelativity
syn keyword fvwmKeyword Pixmap PopdownDelayed PopdownDelay PopupDelay
syn keyword fvwmKeyword PopupAsRootMenu PopupAsSubmenu PopdownImmediately
syn keyword fvwmKeyword PopupDelayed PopupImmediately PopupOffset
syn keyword fvwmKeyword Quiet RGradient RaiseOverNativeWindows
syn keyword fvwmKeyword RaiseOverUnmanaged RaiseTransient
syn keyword fvwmKeyword Raised Read RecaptureHonorsStartsOnPage
syn keyword fvwmKeyword RecaptureIgnoresStartsOnPage Rectangle
syn keyword fvwmKeyword RemoveSubmenus Reset Resize ResizeHintOverride
syn keyword fvwmKeyword ResizeOpaque ResizeOutline ReverseOrder
syn keyword fvwmKeyword Right RightJustified Root SGradient SameType
syn keyword fvwmKeyword SaveUnder SaveUnderOff ScatterWindowGroups
syn keyword fvwmKeyword Screen SelectInPlace SelectOnRelease
syn keyword fvwmKeyword SelectWarp SeparatorsLong SeparatorsShort
syn keyword fvwmKeyword ShowMapping SideColor SidePic Simple
syn keyword fvwmKeyword SkipMapping Slippery SlipperyIcon SloppyFocus
syn keyword fvwmKeyword SmartPlacement SmartPlacementIsNormal
syn keyword fvwmKeyword SmartPlacementIsReallySmart Solid South
syn keyword fvwmKeyword Southeast Southwest StackTransientParent
syn keyword fvwmKeyword StartIconic StartNormal StartsAnyWhere
syn keyword fvwmKeyword StartsLowered StartsOnDesk StartsOnPage
syn keyword fvwmKeyword StartsOnPageIgnoresTransients
syn keyword fvwmKeyword StartsOnPageIncludesTransients StartsOnScreen
syn keyword fvwmKeyword StartsRaised StaysOnBottom StaysOnTop StaysPut
syn keyword fvwmKeyword Sticky StickyIcon StipledTitles StippledTitle
syn keyword fvwmKeyword StippledTitleOff SubmenusLeft SubmenusRight Sunk
syn keyword fvwmKeyword This TileCascadePlacement TileManualPlacement
syn keyword fvwmKeyword TiledPixmap Timeout Title TitleAtBottom
syn keyword fvwmKeyword TitleAtTop TitleUnderlines0 TitleUnderlines1
syn keyword fvwmKeyword TitleUnderlines2 TitleWarp TitleWarpOff Top
syn keyword fvwmKeyword Transient TrianglesRelief TrianglesSolid
syn keyword fvwmKeyword Up UseBorderStyle UseDecor UseIconName
syn keyword fvwmKeyword UseIconPosition UseListSkip UsePPosition
syn keyword fvwmKeyword UseStyle UseTitleStyle UseTransientPPosition
syn keyword fvwmKeyword UseTransientUSPosition UseUSPosition VGradient
syn keyword fvwmKeyword VariablePosition Vector VerticalItemSpacing
syn keyword fvwmKeyword VerticalTitleSpacing WIN Wait Warp WarpTitle
syn keyword fvwmKeyword West Win Window WindowListHit WindowListSkip
syn keyword fvwmKeyword WindowShadeScrolls WindowShadeShrinks
syn keyword fvwmKeyword WindowShadeSteps Windows XineramaRoot YGradient
syn keyword fvwmKeyword bottomright default pointer prev quiet
syn keyword fvwmKeyword True False Toggle
syn keyword fvwmConditionName AcceptsFocus CurrentDesk CurrentGlobalPage
syn keyword fvwmConditionName CurrentGlobalPageAnyDesk CurrentPage
syn keyword fvwmConditionName CurrentPageAnyDesk CurrentScreen Iconic Layer
syn keyword fvwmConditionName Maximized PlacedByButton3 PlacedByFvwm Raised
syn keyword fvwmConditionName Shaded Sticky Transient Visible
syn keyword fvwmContextName BOTTOM BOTTOM_EDGE BOTTOM_LEFT BOTTOM_RIGHT
syn keyword fvwmContextName DEFAULT DESTROY LEFT LEFT_EDGE MENU MOVE
syn keyword fvwmContextName RESIZE RIGHT RIGHT_EDGE ROOT SELECT STROKE SYS
syn keyword fvwmContextName TITLE TOP TOP_EDGE TOP_LEFT TOP_RIGHT WAIT
syn keyword fvwmContextName POSITION
syn keyword fvwmFunctionName contained FvwmAnimate FvwmAudio FvwmAuto
syn keyword fvwmFunctionName contained FvwmBacker FvwmBanner FvwmButtons
syn keyword fvwmFunctionName contained FvwmCascade FvwmCommandS
syn keyword fvwmFunctionName contained FvwmConsole FvwmConsoleC FvwmCpp
syn keyword fvwmFunctionName contained FvwmDebug FvwmDragWell FvwmEvent
syn keyword fvwmFunctionName contained FvwmForm FvwmGtk FvwmIconBox
syn keyword fvwmFunctionName contained FvwmIconMan FvwmIdent FvwmM4
syn keyword fvwmFunctionName contained FvwmPager FvwmRearrange FvwmSave
syn keyword fvwmFunctionName contained FvwmSaveDesk FvwmScript FvwmScroll
syn keyword fvwmFunctionName contained FvwmTalk FvwmTaskBar FvwmTheme
syn keyword fvwmFunctionName contained FvwmTile FvwmWharf FvwmWinList
syn keyword fvwmFunctionName StartFunction InitFunction RestartFunction
syn keyword fvwmFunctionName ExitFunction SessionInitFunction
syn keyword fvwmFunctionName SessionRestartFunction SessionExitFunction
syn keyword fvwmFunctionName MissingSubmenuFunction
endif
if version >= 508 || !exists("did_fvwm_syntax_inits")
if version < 508
let did_fvwm_syntax_inits = 1
command -nargs=+ HiLink hi link <args>
else
command -nargs=+ HiLink hi def link <args>
endif
HiLink fvwmComment Comment
HiLink fvwmEnvVar Macro
HiLink fvwmExec Function
HiLink fvwmFunction Function
HiLink fvwmFunctionName Special
HiLink fvwmContextName Function
HiLink fvwmConditionName Function
HiLink fvwmIcon Comment
HiLink fvwmKey Function
HiLink fvwmKeyword Keyword
HiLink fvwmMenuString String
HiLink fvwmModConf Macro
HiLink fvwmModule Function
HiLink fvwmModuleName Special
HiLink fvwmRGBValue Type
HiLink fvwmShortcutKey SpecialChar
HiLink fvwmString String
if exists("rgb_file")
HiLink fvwmColors Type
endif
delcommand HiLink
endif
let b:current_syntax = "fvwm"
" vim: sts=4 sw=4 ts=8