patch 9.0.2098: No filetype support for xcompose files Commit: https://github.com/vim/vim/commit/4f9074b96cc7efb1c829ca74902a851551dcf4e8 Author: ObserverOfTime <chronobser...@disroot.org> Date: Sat Nov 11 09:12:27 2023 +0100
patch 9.0.2098: No filetype support for xcompose files Problem: No filetype support for xcompose files Solution: Add filetype detection closes: #13508 Signed-off-by: ObserverOfTime <chronobser...@disroot.org> Signed-off-by: Christian Brabandt <c...@256bit.org> diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index cd648004e..d99c8c710 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -237,6 +237,7 @@ runtime/ftplugin/vdf.vim @ObserverOfTime runtime/ftplugin/wast.vim @rhysd runtime/ftplugin/wget.vim @dkearns runtime/ftplugin/wget2.vim @dkearns +runtime/ftplugin/xcompose.vim @ObserverOfTime runtime/ftplugin/xml.vim @chrisbra runtime/ftplugin/xs.vim @petdance runtime/ftplugin/zsh.vim @chrisbra @@ -525,6 +526,7 @@ runtime/syntax/wdl.vim @zenmatic runtime/syntax/wget.vim @dkearns runtime/syntax/wget2.vim @dkearns runtime/syntax/xbl.vim @dkearns +runtime/syntax/xcompose.vim @ObserverOfTime runtime/syntax/xmath.vim @cecamp runtime/syntax/xml.vim @chrisbra runtime/syntax/xs.vim @petdance diff --git a/runtime/filetype.vim b/runtime/filetype.vim index 7fb92a271..df7624d41 100644 --- a/runtime/filetype.vim +++ b/runtime/filetype.vim @@ -2537,6 +2537,9 @@ au BufNewFile,BufRead */etc/xinetd.conf setf xinetd " XS Perl extension interface language au BufNewFile,BufRead *.xs setf xs +" X compose file +au BufNewFile,BufRead .XCompose,Compose setf xcompose + " X resources file au BufNewFile,BufRead .Xdefaults,.Xpdefaults,.Xresources,xdm-config,*.ad setf xdefaults diff --git a/runtime/ftplugin/xcompose.vim b/runtime/ftplugin/xcompose.vim new file mode 100644 index 000000000..7345c27a2 --- /dev/null +++ b/runtime/ftplugin/xcompose.vim @@ -0,0 +1,13 @@ +" Vim filetype plugin file +" Language: XCompose +" Maintainer: ObserverOfTime <chronobser...@disroot.org +" Last Change: 2023 Nov 09 + +if exists('b:did_ftplugin') + finish +endif +let b:did_ftplugin = 1 + +setl comments=:# commentstring=#\ %s + +let b:undo_ftplugin = 'setl com< cms<' diff --git a/runtime/syntax/xcompose.vim b/runtime/syntax/xcompose.vim new file mode 100644 index 000000000..3637b9f3b --- /dev/null +++ b/runtime/syntax/xcompose.vim @@ -0,0 +1,37 @@ +" Vim syntax file +" Language: XCompose +" Maintainer: ObserverOfTime <chronobser...@disroot.org> +" 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/src/testdir/test_filetype.vim b/src/testdir/test_filetype.vim index 6cfd69fb1..9a0a6dad5 100644 --- a/src/testdir/test_filetype.vim +++ b/src/testdir/test_filetype.vim @@ -799,6 +799,7 @@ def s:GetFilenameChecks(): dict<list<string>> 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'], diff --git a/src/version.c b/src/version.c index 0883caee4..a4cc2619d 100644 --- a/src/version.c +++ b/src/version.c @@ -704,6 +704,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 2098, /**/ 2097, /**/ -- -- You received this message from the "vim_dev" maillist. Do not top-post! Type your reply below the text you are replying to. For more information, visit http://www.vim.org/maillist.php --- You received this message because you are subscribed to the Google Groups "vim_dev" group. To unsubscribe from this group and stop receiving emails from it, send an email to vim_dev+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/vim_dev/E1r1j8y-000EDd-M4%40256bit.org.