diff --git a/runtime/ftplugin/xcompose.vim b/runtime/ftplugin/xcompose.vim new file mode 100644 index 0000000000..7345c27a2e --- /dev/null +++ b/runtime/ftplugin/xcompose.vim @@ -0,0 +1,13 @@ +" Vim filetype plugin file +" Language: XCompose +" Maintainer: ObserverOfTime +" Filenames: .XCompose, Compose +" Last Change: 2023 Nov 09 + +" Comments +syn keyword xcomposeTodo contained TODO FIXME XXX +syn match xcomposeComment /#.*/ contains=xcomposeTodo + +" Includes +syn keyword xcomposeInclude include nextgroup=xcomposeFile skipwhite +syn match xcomposeFile /"\([^"]\|\\"\)\+"/ contained +syn match xcomposeSubstitution /%[HLS]/ contained containedin=xcomposeFile + +" Modifiers +syn keyword xcomposeModifier Ctrl Lock Caps Shift Alt Meta None +syn match xcomposeModifierPrefix /\s*\zs[!~]\ze\s*/ + +" Keysyms +syn match xcomposeKeysym /<[A-Za-z0-9_]\+>/ +syn match xcomposeKeysym /[A-Za-z0-9_]\+/ contained +syn match xcomposeString /"\([^"]\|\\"\)\+"/ contained nextgroup=xcomposeKeysym skipwhite +syn match xcomposeColon /:/ nextgroup=xcomposeKeysym,xcomposeString skipwhite + +hi def link xcomposeColon Delimiter +hi def link xcomposeComment Comment +hi def link xcomposeFile String +hi def link xcomposeInclude Include +hi def link xcomposeKeysym Constant +hi def link xcomposeModifier Function +hi def link xcomposeModifierPrefix Operator +hi def link xcomposeString String +hi def link xcomposeSubstitution Special +hi def link xcomposeTodo Todo + +let b:current_syntax = 'xcompose' diff --git a/test/old/testdir/test_filetype.vim b/test/old/testdir/test_filetype.vim index 8af87115ac..d0361d6a87 100644 --- a/test/old/testdir/test_filetype.vim +++ b/test/old/testdir/test_filetype.vim @@ -721,6 +721,7 @@ func s:GetFilenameChecks() abort \ 'wsh': ['file.wsf', 'file.wsc'], \ 'wsml': ['file.wsml'], \ 'wvdial': ['wvdial.conf', '.wvdialrc'], + \ 'xcompose': ['.XCompose', 'Compose'], \ 'xdefaults': ['.Xdefaults', '.Xpdefaults', '.Xresources', 'xdm-config', 'file.ad', '/Xresources/file', '/app-defaults/file', 'Xresources', 'Xresources-file', 'any/Xresources/file', 'any/app-defaults/file'], \ 'xf86conf': ['xorg.conf', 'xorg.conf-4'], \ 'xhtml': ['file.xhtml', 'file.xht'],