mirror of
https://github.com/neovim/neovim.git
synced 2024-12-25 05:35:10 -07:00
c23dd7c9ef
Problem: No filetype support for xcompose files
Solution: Add filetype detection
closes: vim/vim#13508
4f9074b96c
38 lines
1.3 KiB
VimL
38 lines
1.3 KiB
VimL
" 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'
|