1" Vim syntax file 2" Language: Fvwm{1,2} configuration file 3" Maintainer: Haakon Riiser <[email protected]> 4" Last Change: 2002 Jun 2 5" 6" Thanks to David Necas (Yeti) for adding Fvwm 2.4 support. 7 8" For version 5.x: Clear all syntax items 9" For version 6.x: Quit when a syntax file was already loaded 10if version < 600 11 syn clear 12elseif exists("b:current_syntax") 13 finish 14endif 15 16" Fvwm configuration files are case insensitive 17syn case ignore 18 19" Identifiers in Fvwm can contain most characters, so we only 20" include the most common ones here. 21if version >= 600 22 setlocal iskeyword=_,-,+,.,a-z,A-Z,48-57 23else 24 set iskeyword=_,-,+,.,a-z,A-Z,48-57 25endif 26 27" Read system colors from the color database (rgb.txt) 28if exists("rgb_file") 29 " We don't want any hit-return prompts, so we make sure that 30 " &shortmess is set to `O' 31 let __fvwm_oldshm = &shortmess 32 set shortmess=O 33 34 " And we set &report to a huge number, so that no hit-return prompts 35 " will be given 36 let __fvwm_oldreport = &report 37 set report=10000 38 39 " Append the color database to the fvwm configuration, and read the 40 " colors from this buffer 41 let __fvwm_i = line("$") + 1 42 exe "$r" rgb_file 43 let __fvwm_lastline = line("$") 44 while __fvwm_i <= __fvwm_lastline 45 let __fvwm_s = matchstr(getline(__fvwm_i), '^\s*\d\+\s\+\d\+\s\+\d\+\s\+\h.*$') 46 if __fvwm_s != "" 47 exe "syn keyword fvwmColors ".substitute(__fvwm_s, '^\s*\d\+\s\+\d\+\s\+\d\+\s\+\(\h.*\)$', '\1', "") 48 endif 49 let __fvwm_i = __fvwm_i + 1 50 endwhile 51 52 " Remove the appended data 53 undo 54 55 " Goto first line again 56 1 57 58 " and restore the old values of the variables 59 let &shortmess = __fvwm_oldshm 60 let &report = __fvwm_oldreport 61 unlet __fvwm_i __fvwm_s __fvwm_lastline __fvwm_oldshm __fvwm_oldreport 62endif 63" done reading colors 64 65syn match fvwmWhitespace "\s\+" contained 66syn match fvwmEnvVar "\$\w\+" 67syn match fvwmModConf "^\s*\*\a\+" contains=fvwmWhitespace 68syn match fvwmString '".\{-}"' 69syn match fvwmRGBValue "#\x\{3}" 70syn match fvwmRGBValue "#\x\{6}" 71syn match fvwmRGBValue "#\x\{9}" 72syn match fvwmRGBValue "#\x\{12}" 73syn match fvwmRGBValue "rgb:\x\{1,4}/\x\{1,4}/\x\{1,4}" 74syn match fvwmPath "\<IconPath\s.*$"lc=8 contains=fvwmEnvVar 75syn match fvwmPath "\<ModulePath\s.*$"lc=10 contains=fvwmEnvVar 76syn match fvwmPath "\<PixmapPath\s.*$"lc=10 contains=fvwmEnvVar 77syn match fvwmModule "\<Module\s\+\w\+"he=s+6 78syn match fvwmKey "\<Key\s\+\w\+"he=s+3 79syn keyword fvwmExec Exec 80syn match fvwmComment "^#.*$" 81 82if (exists("b:fvwm_version") && b:fvwm_version == 1) || (exists("use_fvwm_1") && use_fvwm_1) 83 syn match fvwmEnvVar "\$(\w\+)" 84 syn region fvwmStyle matchgroup=fvwmFunction start="^\s*Style\>"hs=e-5 end="$" oneline keepend contains=fvwmString,fvwmKeyword,fvwmWhiteSpace 85 86 syn keyword fvwmFunction AppsBackingStore AutoRaise BackingStore 87 syn keyword fvwmFunction Beep BoundaryWidth ButtonStyle 88 syn keyword fvwmFunction CenterOnCirculate CirculateDown 89 syn keyword fvwmFunction CirculateHit CirculateSkip 90 syn keyword fvwmFunction CirculateSkipIcons CirculateUp 91 syn keyword fvwmFunction ClickTime ClickToFocus Close Cursor 92 syn keyword fvwmFunction CursorMove DecorateTransients Delete 93 syn keyword fvwmFunction Desk DeskTopScale DeskTopSize Destroy 94 syn keyword fvwmFunction DontMoveOff EdgeResistance EdgeScroll 95 syn keyword fvwmFunction EndFunction EndMenu EndPopup Focus 96 syn keyword fvwmFunction Font Function GotoPage HiBackColor 97 syn keyword fvwmFunction HiForeColor Icon IconBox IconFont 98 syn keyword fvwmFunction Iconify IconPath Key Lenience Lower 99 syn keyword fvwmFunction Maximize MenuBackColor MenuForeColor 100 syn keyword fvwmFunction MenuStippleColor Module ModulePath Mouse 101 syn keyword fvwmFunction Move MWMBorders MWMButtons MWMDecorHints 102 syn keyword fvwmFunction MWMFunctionHints MWMHintOverride MWMMenus 103 syn keyword fvwmFunction NoBorder NoBoundaryWidth Nop NoPPosition 104 syn keyword fvwmFunction NoTitle OpaqueMove OpaqueResize Pager 105 syn keyword fvwmFunction PagerBackColor PagerFont PagerForeColor 106 syn keyword fvwmFunction PagingDefault PixmapPath Popup Quit Raise 107 syn keyword fvwmFunction RaiseLower RandomPlacement Refresh Resize 108 syn keyword fvwmFunction Restart SaveUnders Scroll SloppyFocus 109 syn keyword fvwmFunction SmartPlacement StartsOnDesk StaysOnTop 110 syn keyword fvwmFunction StdBackColor StdForeColor Stick Sticky 111 syn keyword fvwmFunction StickyBackColor StickyForeColor 112 syn keyword fvwmFunction StickyIcons StubbornIconPlacement 113 syn keyword fvwmFunction StubbornIcons StubbornPlacement 114 syn keyword fvwmFunction SuppressIcons Title TogglePage Wait Warp 115 syn keyword fvwmFunction WindowFont WindowList WindowListSkip 116 syn keyword fvwmFunction WindowsDesk WindowShade XORvalue 117 118 " These keywords are only used after the "Style" command. To avoid 119 " name collision with several commands, they are contained. 120 syn keyword fvwmKeyword BackColor BorderWidth BoundaryWidth contained 121 syn keyword fvwmKeyword Button CirculateHit CirculateSkip Color contained 122 syn keyword fvwmKeyword DoubleClick ForeColor Handles HandleWidth contained 123 syn keyword fvwmKeyword Icon IconTitle NoBorder NoBoundaryWidth contained 124 syn keyword fvwmKeyword NoButton NoHandles NoIcon NoIconTitle contained 125 syn keyword fvwmKeyword NoTitle Slippery StartIconic StartNormal contained 126 syn keyword fvwmKeyword StartsAnyWhere StartsOnDesk StaysOnTop contained 127 syn keyword fvwmKeyword StaysPut Sticky Title WindowListHit contained 128 syn keyword fvwmKeyword WindowListSkip contained 129elseif (exists("b:fvwm_version") && b:fvwm_version == 2) || (exists("use_fvwm_2") && use_fvwm_2) 130 syn match fvwmEnvVar "\${\w\+}" 131 syn match fvwmEnvVar "\$\[[^]]\+\]" 132 syn match fvwmEnvVar "\$[$0-9*]" 133 syn match fvwmDef '^\s*+\s*".\{-}"' contains=fvwmMenuString,fvwmWhitespace 134 syn match fvwmIcon '%.\{-}%' contained 135 syn match fvwmIcon '\*.\{-}\*' contained 136 syn match fvwmMenuString '".\{-}"' contains=fvwmIcon,fvwmShortcutKey contained 137 syn match fvwmShortcutKey "&." contained 138 syn match fvwmModule "\<KillModule\s\+\w\+"he=s+10 contains=fvwmModuleName 139 syn match fvwmModule "\<SendToModule\s\+\w\+"he=s+12 contains=fvwmModuleName 140 syn match fvwmModule "\<DestroyModuleConfig\s\+\w\+"he=s+19 contains=fvwmModuleName 141 142 syn keyword fvwmFunction AddButtonStyle AddTitleStyle AddToDecor AddToFunc 143 syn keyword fvwmFunction AddToMenu AnimatedMove Beep BorderStyle BugOpts 144 syn keyword fvwmFunction BusyCursor ButtonState ButtonStyle ChangeDecor 145 syn keyword fvwmFunction ChangeMenuStyle ClickTime Close ColorLimit 146 syn keyword fvwmFunction ColormapFocus CopyMenuStyle Current CursorMove 147 syn keyword fvwmFunction CursorStyle DefaultColors DefaultColorset 148 syn keyword fvwmFunction DefaultFont DefaultIcon DefaultLayers Delete Desk 149 syn keyword fvwmFunction DeskTopSize Destroy DestroyDecor DestroyFunc 150 syn keyword fvwmFunction DestroyMenu DestroyMenuStyle Direction Echo 151 syn keyword fvwmFunction EdgeResistance EdgeScroll EdgeThickness Emulate 152 syn keyword fvwmFunction EscapeFunc Exec ExecUseShell ExitFunction 153 syn keyword fvwmFunction FakeClick FlipFocus Focus Function GlobalOpts 154 syn keyword fvwmFunction GnomeButton GotoDesk GotoDeskAndPage GotoPage 155 syn keyword fvwmFunction HideGeometryWindow HilightColor HilightColorset 156 syn keyword fvwmFunction IconFont IconPath Iconify IgnoreModifiers 157 syn keyword fvwmFunction ImagePath Key Layer Lower Maximize Menu MenuStyle 158 syn keyword fvwmFunction ModulePath ModuleSynchronous ModuleTimeout 159 syn keyword fvwmFunction Mouse Move MoveThreshold MoveToDesk MoveToPage 160 syn keyword fvwmFunction MoveToScreen Next None Nop OpaqueMoveSize 161 syn keyword fvwmFunction PipeRead PixmapPath PlaceAgain PointerKey 162 syn keyword fvwmFunction Popup Prev Quit QuitScreen QuitSession Raise 163 syn keyword fvwmFunction RaiseLower Read Recapture RecaptureWindow 164 syn keyword fvwmFunction Refresh RefreshWindow Resize ResizeMove 165 syn keyword fvwmFunction Restart SaveQuitSession SaveSession Scroll 166 syn keyword fvwmFunction SetAnimation SetEnv SetMenuDelay SetMenuStyle 167 syn keyword fvwmFunction Silent SnapAttraction SnapGrid Stick Stroke 168 syn keyword fvwmFunction StrokeFunc Style Title TitleStyle UnsetEnv 169 syn keyword fvwmFunction UpdateDecor UpdateStyles Wait WarpToWindow 170 syn keyword fvwmFunction WindowFont WindowId WindowList WindowShade 171 syn keyword fvwmFunction WindowShadeAnimate WindowsDesk Xinerama 172 syn keyword fvwmFunction XineramaPrimaryScreen XineramaSls XineramaSlsSize 173 syn keyword fvwmFunction XorPixmap XorValue 174 175 syn keyword fvwmKeyword Active ActiveColorset ActiveDown 176 syn keyword fvwmKeyword ActiveFore ActiveForeOff ActivePlacement 177 syn keyword fvwmKeyword ActivePlacementHonorsStartsOnPage 178 syn keyword fvwmKeyword ActivePlacementIgnoresStartsOnPage ActiveUp All 179 syn keyword fvwmKeyword AllowRestack Alphabetic Anim Animated Animation 180 syn keyword fvwmKeyword AnimationOff AutomaticHotkeys AutomaticHotkeysOff 181 syn keyword fvwmKeyword BGradient BackColor Background BackingStore 182 syn keyword fvwmKeyword BackingStoreOff BorderColorset BorderWidth 183 syn keyword fvwmKeyword Bottom Button Button0 Button1 Button2 Button3 184 syn keyword fvwmKeyword Button4 Button5 Button6 Button7 Button8 185 syn keyword fvwmKeyword Button9 CGradient CaptureHonorsStartsOnPage 186 syn keyword fvwmKeyword CaptureIgnoresStartsOnPage CascadePlacement 187 syn keyword fvwmKeyword Centered CirculateHit CirculateHitIcon 188 syn keyword fvwmKeyword CirculateHitShaded CirculateSkip 189 syn keyword fvwmKeyword CirculateSkipIcon CirculateSkipShaded Clear 190 syn keyword fvwmKeyword ClickToFocus ClickToFocusDoesntPassClick 191 syn keyword fvwmKeyword ClickToFocusDoesntRaise ClickToFocusPassesClick 192 syn keyword fvwmKeyword ClickToFocusPassesClickOff ClickToFocusRaises 193 syn keyword fvwmKeyword ClickToFocusRaisesOff Color Colorset Context 194 syn keyword fvwmKeyword CurrentDesk CurrentPage CurrentPageAnyDesk 195 syn keyword fvwmKeyword DGradient DecorateTransient Default 196 syn keyword fvwmKeyword DepressableBorder Desk DontLowerTransient 197 syn keyword fvwmKeyword DontRaiseTransient DontStackTransientParent 198 syn keyword fvwmKeyword DoubleClickTime Down DumbPlacement DynamicMenu 199 syn keyword fvwmKeyword DynamicPopDownAction DynamicPopUpAction 200 syn keyword fvwmKeyword East Expect FVWM FirmBorder Fixed 201 syn keyword fvwmKeyword FixedPosition Flat FlickeringMoveWorkaround 202 syn keyword fvwmKeyword FlickeringQtDialogsWorkaround FocusFollowsMouse 203 syn keyword fvwmKeyword FollowsFocus FollowsMouse Font ForeColor 204 syn keyword fvwmKeyword Foreground Function Fvwm FvwmBorder 205 syn keyword fvwmKeyword FvwmButtons GNOMEIgnoreHints GNOMEUseHints 206 syn keyword fvwmKeyword GrabFocus GrabFocusOff GrabFocusTransient 207 syn keyword fvwmKeyword GrabFocusTransientOff Greyed GreyedColorset 208 syn keyword fvwmKeyword HGradient HandleWidth Handles Height 209 syn keyword fvwmKeyword HiddenHandles Hilight3DOff Hilight3DThick 210 syn keyword fvwmKeyword Hilight3DThickness Hilight3DThin HilightBack 211 syn keyword fvwmKeyword HilightBackOff HilightBorderColorset 212 syn keyword fvwmKeyword HilightColorset HilightFore HintOverride 213 syn keyword fvwmKeyword HoldSubmenus Icon IconBox IconFill IconFont 214 syn keyword fvwmKeyword IconGrid IconOverride IconTitle Iconic 215 syn keyword fvwmKeyword IconifyWindowGroups IconifyWindowGroupsOff 216 syn keyword fvwmKeyword Icons IgnoreRestack Inactive Interior Item 217 syn keyword fvwmKeyword ItemFormat KeepWindowGroupsOnDesk Layer Left 218 syn keyword fvwmKeyword LeftJustified Lenience LowerTransient MWM 219 syn keyword fvwmKeyword MWMBorder MWMButtons MWMDecor MWMDecorMax 220 syn keyword fvwmKeyword MWMDecorMenu MWMDecorMin MWMFunctions 221 syn keyword fvwmKeyword ManualPlacement ManualPlacementHonorsStartsOnPage 222 syn keyword fvwmKeyword ManualPlacementIgnoresStartsOnPage MaxWindowSize 223 syn keyword fvwmKeyword Maximized Menu MenuColorset MenuFace 224 syn keyword fvwmKeyword MinOverlapPercentPlacement MinOverlapPlacement 225 syn keyword fvwmKeyword MiniIcon MixedVisualWorkaround ModalityIsEvil 226 syn keyword fvwmKeyword ModuleSynchronous Mouse MouseFocus 227 syn keyword fvwmKeyword MouseFocusClickDoesntRaise MouseFocusClickRaises 228 syn keyword fvwmKeyword MouseFocusClickRaisesOff Move Mwm MwmBorder 229 syn keyword fvwmKeyword MwmButtons MwmDecor MwmFunctions NakedTransient 230 syn keyword fvwmKeyword Never NeverFocus NoActiveIconOverride NoButton 231 syn keyword fvwmKeyword NoDecorHint NoDeskSort NoFuncHint NoGeometry 232 syn keyword fvwmKeyword NoGeometryWithInfo NoHandles NoHotkeys NoIcon 233 syn keyword fvwmKeyword NoIconOverride NoIconPosition NoIconTitle 234 syn keyword fvwmKeyword NoIcons NoInset NoLenience NoNormal 235 syn keyword fvwmKeyword NoOLDecor NoOnBottom NoOnTop NoOverride 236 syn keyword fvwmKeyword NoPPosition NoResizeOverride NoSticky 237 syn keyword fvwmKeyword NoStipledTitles NoTitle NoTransientPPosition 238 syn keyword fvwmKeyword NoTransientUSPosition NoUSPosition 239 syn keyword fvwmKeyword NoWarp Normal North Northeast Northwest 240 syn keyword fvwmKeyword NotAlphabetic OLDecor OnBottom OnTop Once 241 syn keyword fvwmKeyword OnlyIcons OnlyListSkip OnlyNormal OnlyOnBottom 242 syn keyword fvwmKeyword OnlyOnTop OnlySticky Opacity ParentalRelativity 243 syn keyword fvwmKeyword Pixmap PopdownDelayed PopdownDelay PopupDelay 244 syn keyword fvwmKeyword PopupAsRootMenu PopupAsSubmenu PopdownImmediately 245 syn keyword fvwmKeyword PopupDelayed PopupImmediately PopupOffset 246 syn keyword fvwmKeyword Quiet RGradient RaiseOverNativeWindows 247 syn keyword fvwmKeyword RaiseOverUnmanaged RaiseTransient 248 syn keyword fvwmKeyword Raised Read RecaptureHonorsStartsOnPage 249 syn keyword fvwmKeyword RecaptureIgnoresStartsOnPage Rectangle 250 syn keyword fvwmKeyword RemoveSubmenus Reset Resize ResizeHintOverride 251 syn keyword fvwmKeyword ResizeOpaque ResizeOutline ReverseOrder 252 syn keyword fvwmKeyword Right RightJustified Root SGradient SameType 253 syn keyword fvwmKeyword SaveUnder SaveUnderOff ScatterWindowGroups 254 syn keyword fvwmKeyword Screen SelectInPlace SelectOnRelease 255 syn keyword fvwmKeyword SelectWarp SeparatorsLong SeparatorsShort 256 syn keyword fvwmKeyword ShowMapping SideColor SidePic Simple 257 syn keyword fvwmKeyword SkipMapping Slippery SlipperyIcon SloppyFocus 258 syn keyword fvwmKeyword SmartPlacement SmartPlacementIsNormal 259 syn keyword fvwmKeyword SmartPlacementIsReallySmart Solid South 260 syn keyword fvwmKeyword Southeast Southwest StackTransientParent 261 syn keyword fvwmKeyword StartIconic StartNormal StartsAnyWhere 262 syn keyword fvwmKeyword StartsLowered StartsOnDesk StartsOnPage 263 syn keyword fvwmKeyword StartsOnPageIgnoresTransients 264 syn keyword fvwmKeyword StartsOnPageIncludesTransients StartsOnScreen 265 syn keyword fvwmKeyword StartsRaised StaysOnBottom StaysOnTop StaysPut 266 syn keyword fvwmKeyword Sticky StickyIcon StipledTitles StippledTitle 267 syn keyword fvwmKeyword StippledTitleOff SubmenusLeft SubmenusRight Sunk 268 syn keyword fvwmKeyword This TileCascadePlacement TileManualPlacement 269 syn keyword fvwmKeyword TiledPixmap Timeout Title TitleAtBottom 270 syn keyword fvwmKeyword TitleAtTop TitleUnderlines0 TitleUnderlines1 271 syn keyword fvwmKeyword TitleUnderlines2 TitleWarp TitleWarpOff Top 272 syn keyword fvwmKeyword Transient TrianglesRelief TrianglesSolid 273 syn keyword fvwmKeyword Up UseBorderStyle UseDecor UseIconName 274 syn keyword fvwmKeyword UseIconPosition UseListSkip UsePPosition 275 syn keyword fvwmKeyword UseStyle UseTitleStyle UseTransientPPosition 276 syn keyword fvwmKeyword UseTransientUSPosition UseUSPosition VGradient 277 syn keyword fvwmKeyword VariablePosition Vector VerticalItemSpacing 278 syn keyword fvwmKeyword VerticalTitleSpacing WIN Wait Warp WarpTitle 279 syn keyword fvwmKeyword West Win Window WindowListHit WindowListSkip 280 syn keyword fvwmKeyword WindowShadeScrolls WindowShadeShrinks 281 syn keyword fvwmKeyword WindowShadeSteps Windows XineramaRoot YGradient 282 syn keyword fvwmKeyword bottomright default pointer prev quiet 283 syn keyword fvwmKeyword True False Toggle 284 285 syn keyword fvwmConditionName AcceptsFocus CurrentDesk CurrentGlobalPage 286 syn keyword fvwmConditionName CurrentGlobalPageAnyDesk CurrentPage 287 syn keyword fvwmConditionName CurrentPageAnyDesk CurrentScreen Iconic Layer 288 syn keyword fvwmConditionName Maximized PlacedByButton3 PlacedByFvwm Raised 289 syn keyword fvwmConditionName Shaded Sticky Transient Visible 290 291 syn keyword fvwmContextName BOTTOM BOTTOM_EDGE BOTTOM_LEFT BOTTOM_RIGHT 292 syn keyword fvwmContextName DEFAULT DESTROY LEFT LEFT_EDGE MENU MOVE 293 syn keyword fvwmContextName RESIZE RIGHT RIGHT_EDGE ROOT SELECT STROKE SYS 294 syn keyword fvwmContextName TITLE TOP TOP_EDGE TOP_LEFT TOP_RIGHT WAIT 295 syn keyword fvwmContextName POSITION 296 297 syn keyword fvwmFunctionName contained FvwmAnimate FvwmAudio FvwmAuto 298 syn keyword fvwmFunctionName contained FvwmBacker FvwmBanner FvwmButtons 299 syn keyword fvwmFunctionName contained FvwmCascade FvwmCommandS 300 syn keyword fvwmFunctionName contained FvwmConsole FvwmConsoleC FvwmCpp 301 syn keyword fvwmFunctionName contained FvwmDebug FvwmDragWell FvwmEvent 302 syn keyword fvwmFunctionName contained FvwmForm FvwmGtk FvwmIconBox 303 syn keyword fvwmFunctionName contained FvwmIconMan FvwmIdent FvwmM4 304 syn keyword fvwmFunctionName contained FvwmPager FvwmRearrange FvwmSave 305 syn keyword fvwmFunctionName contained FvwmSaveDesk FvwmScript FvwmScroll 306 syn keyword fvwmFunctionName contained FvwmTalk FvwmTaskBar FvwmTheme 307 syn keyword fvwmFunctionName contained FvwmTile FvwmWharf FvwmWinList 308 309 syn keyword fvwmFunctionName StartFunction InitFunction RestartFunction 310 syn keyword fvwmFunctionName ExitFunction SessionInitFunction 311 syn keyword fvwmFunctionName SessionRestartFunction SessionExitFunction 312 syn keyword fvwmFunctionName MissingSubmenuFunction 313endif 314 315if version >= 508 || !exists("did_fvwm_syntax_inits") 316 if version < 508 317 let did_fvwm_syntax_inits = 1 318 command -nargs=+ HiLink hi link <args> 319 else 320 command -nargs=+ HiLink hi def link <args> 321 endif 322 323 HiLink fvwmComment Comment 324 HiLink fvwmEnvVar Macro 325 HiLink fvwmExec Function 326 HiLink fvwmFunction Function 327 HiLink fvwmFunctionName Special 328 HiLink fvwmContextName Function 329 HiLink fvwmConditionName Function 330 HiLink fvwmIcon Comment 331 HiLink fvwmKey Function 332 HiLink fvwmKeyword Keyword 333 HiLink fvwmMenuString String 334 HiLink fvwmModConf Macro 335 HiLink fvwmModule Function 336 HiLink fvwmModuleName Special 337 HiLink fvwmRGBValue Type 338 HiLink fvwmShortcutKey SpecialChar 339 HiLink fvwmString String 340 341 if exists("rgb_file") 342 HiLink fvwmColors Type 343 endif 344 345 delcommand HiLink 346endif 347 348let b:current_syntax = "fvwm" 349" vim: sts=4 sw=4 ts=8 350