aboutsummaryrefslogtreecommitdiff
path: root/runtime/syntax
diff options
context:
space:
mode:
authorObserverOfTime <chronobserver@disroot.org>2023-11-12 01:51:25 +0200
committerGitHub <noreply@github.com>2023-11-12 07:51:25 +0800
commitc23dd7c9eff035d92830bb33eb9644d946a65d92 (patch)
treeaa31ae10b69dcac282d4ad0e86238cd20bdb67a2 /runtime/syntax
parent2494009885b6d8073017ee3c7e16bcc1796c4c99 (diff)
downloadrneovim-c23dd7c9eff035d92830bb33eb9644d946a65d92.tar.gz
rneovim-c23dd7c9eff035d92830bb33eb9644d946a65d92.tar.bz2
rneovim-c23dd7c9eff035d92830bb33eb9644d946a65d92.zip
vim-patch:9.0.2098: No filetype support for xcompose files (#25983)
Problem: No filetype support for xcompose files Solution: Add filetype detection closes: vim/vim#13508 https://github.com/vim/vim/commit/4f9074b96cc7efb1c829ca74902a851551dcf4e8
Diffstat (limited to 'runtime/syntax')
-rw-r--r--runtime/syntax/xcompose.vim37
1 files changed, 37 insertions, 0 deletions
diff --git a/runtime/syntax/xcompose.vim b/runtime/syntax/xcompose.vim
new file mode 100644
index 0000000000..3637b9f3b6
--- /dev/null
+++ b/runtime/syntax/xcompose.vim
@@ -0,0 +1,37 @@
+" Vim syntax file
+" Language: XCompose
+" Maintainer: ObserverOfTime <chronobserver@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'