mirror of
https://github.com/neovim/neovim
synced 2025-07-16 01:01:49 +00:00
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
4f9074b96c
This commit is contained in:
13
runtime/ftplugin/xcompose.vim
Normal file
13
runtime/ftplugin/xcompose.vim
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
" Vim filetype plugin file
|
||||||
|
" Language: XCompose
|
||||||
|
" Maintainer: ObserverOfTime <chronobserver@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<'
|
@ -1521,6 +1521,8 @@ local filename = {
|
|||||||
wget2rc = 'wget2',
|
wget2rc = 'wget2',
|
||||||
['.wvdialrc'] = 'wvdial',
|
['.wvdialrc'] = 'wvdial',
|
||||||
['wvdial.conf'] = 'wvdial',
|
['wvdial.conf'] = 'wvdial',
|
||||||
|
['.XCompose'] = 'xcompose',
|
||||||
|
['Compose'] = 'xcompose',
|
||||||
['.Xresources'] = 'xdefaults',
|
['.Xresources'] = 'xdefaults',
|
||||||
['.Xpdefaults'] = 'xdefaults',
|
['.Xpdefaults'] = 'xdefaults',
|
||||||
['xdm-config'] = 'xdefaults',
|
['xdm-config'] = 'xdefaults',
|
||||||
|
37
runtime/syntax/xcompose.vim
Normal file
37
runtime/syntax/xcompose.vim
Normal file
@ -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'
|
@ -721,6 +721,7 @@ func s:GetFilenameChecks() abort
|
|||||||
\ 'wsh': ['file.wsf', 'file.wsc'],
|
\ 'wsh': ['file.wsf', 'file.wsc'],
|
||||||
\ 'wsml': ['file.wsml'],
|
\ 'wsml': ['file.wsml'],
|
||||||
\ 'wvdial': ['wvdial.conf', '.wvdialrc'],
|
\ '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'],
|
\ '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'],
|
\ 'xf86conf': ['xorg.conf', 'xorg.conf-4'],
|
||||||
\ 'xhtml': ['file.xhtml', 'file.xht'],
|
\ 'xhtml': ['file.xhtml', 'file.xht'],
|
||||||
|
Reference in New Issue
Block a user