mirror of
https://github.com/neovim/neovim.git
synced 2026-03-31 04:42:03 +00:00
vim-patch:9.2.0235: filetype: wks files are not recognized (#38451)
Problem: filetype: wks files are not recognized.
Solution: Detect *.wks, *.wks.in and *.wks.inc as wks filetype,
include a filetype and syntax plugin (Anakin Childerhose)
The OpenEmbedded Image Creation tool, `wic` uses wic kickstarter files
to define image partition and bootloader layouts.
wks files can end with .wks, .wks.in for templated wks files, and
.wks.inc for including in other .wks files.
The autocmd for *.wks.inc needs to come before *.inc in
runtime/ftdetect.vim
Reference:
https://docs.yoctoproject.org/ref-manual/kickstart.html#openembedded-kickstart-wks-reference
https://git.openembedded.org/openembedded-core/tree/scripts/lib/wic/canned-wks
closes: vim/vim#19796
8c116bbe79
This commit is contained in:
committed by
GitHub
parent
416e542992
commit
1de1c08210
14
runtime/ftplugin/wks.vim
Normal file
14
runtime/ftplugin/wks.vim
Normal file
@@ -0,0 +1,14 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: OpenEmbedded Image Creator (WIC) Kickstarter files wks
|
||||
" Maintainer: Anakin Childerhose <anakin@childerhose.ca>
|
||||
" Last Change: 2026 Mar 23
|
||||
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
endif
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
setlocal comments=:#
|
||||
setlocal commentstring=#\ %s
|
||||
|
||||
let b:undo_ftplugin = 'setlocal com< cms<'
|
||||
@@ -1380,6 +1380,7 @@ local extension = {
|
||||
wgsl = 'wgsl',
|
||||
wbt = 'winbatch',
|
||||
wit = 'wit',
|
||||
wks = 'wks',
|
||||
wml = 'wml',
|
||||
wsf = 'wsh',
|
||||
wsc = 'wsh',
|
||||
@@ -2781,6 +2782,8 @@ local pattern = {
|
||||
['%.t%.html$'] = 'tilde',
|
||||
['%.vhdl_[0-9]'] = starsetf('vhdl'),
|
||||
['vimrc'] = starsetf('vim'),
|
||||
['%.wks%.in$'] = 'wks',
|
||||
['%.wks%.inc$'] = 'wks',
|
||||
['/Xresources/'] = starsetf('xdefaults'),
|
||||
['/app%-defaults/'] = starsetf('xdefaults'),
|
||||
['^Xresources'] = starsetf('xdefaults'),
|
||||
|
||||
29
runtime/syntax/wks.vim
Normal file
29
runtime/syntax/wks.vim
Normal file
@@ -0,0 +1,29 @@
|
||||
" Vim syntax file
|
||||
" Language: OpenEmbedded Image Creator (WIC) Kickstarter files wks
|
||||
" Maintainer: Anakin Childerhose <anakin@childerhose.ca>
|
||||
" Last Change: 2026 Mar 23
|
||||
|
||||
if exists("b:current_syntax")
|
||||
finish
|
||||
endif
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
syn case match
|
||||
|
||||
syn match wksComment "#.*$"
|
||||
syn match wksCommand "\<bootloader\>"
|
||||
syn match wksCommand "\<\(part\|partition\)\>" skipwhite nextgroup=wksMountPoint
|
||||
syn match wksMountPoint "\(/[^ \t]*\|swap\)" contained
|
||||
|
||||
syn match wksOption "--[a-zA-Z_-]\+"
|
||||
|
||||
hi def link wksComment Comment
|
||||
hi def link wksCommand Statement
|
||||
hi def link wksMountPoint Identifier
|
||||
hi def link wksOption Special
|
||||
|
||||
let b:current_syntax = "wks"
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
@@ -963,6 +963,7 @@ func s:GetFilenameChecks() abort
|
||||
\ 'wgsl': ['file.wgsl'],
|
||||
\ 'winbatch': ['file.wbt'],
|
||||
\ 'wit': ['file.wit'],
|
||||
\ 'wks': ['file.wks', 'file.wks.in', 'file.wks.inc'],
|
||||
\ 'wml': ['file.wml'],
|
||||
\ 'wsh': ['file.wsf', 'file.wsc'],
|
||||
\ 'wsml': ['file.wsml'],
|
||||
|
||||
Reference in New Issue
Block a user