diff --git a/runtime/syntax/fvwm.vim b/runtime/syntax/fvwm.vim
new file mode 100644
index 0000000..ff1b783
--- /dev/null
+++ b/runtime/syntax/fvwm.vim
@@ -0,0 +1,349 @@
+" 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
