diff --git a/runtime/ftplugin/wks.vim b/runtime/ftplugin/wks.vim new file mode 100644 index 0000000000..c8d34818be --- /dev/null +++ b/runtime/ftplugin/wks.vim @@ -0,0 +1,14 @@ +" Vim filetype plugin file +" Language: OpenEmbedded Image Creator (WIC) Kickstarter files wks +" Maintainer: Anakin Childerhose +" 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<' diff --git a/runtime/lua/vim/filetype.lua b/runtime/lua/vim/filetype.lua index bacbf17ab2..0a112fa894 100644 --- a/runtime/lua/vim/filetype.lua +++ b/runtime/lua/vim/filetype.lua @@ -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'), diff --git a/runtime/syntax/wks.vim b/runtime/syntax/wks.vim new file mode 100644 index 0000000000..1d242ada12 --- /dev/null +++ b/runtime/syntax/wks.vim @@ -0,0 +1,29 @@ +" Vim syntax file +" Language: OpenEmbedded Image Creator (WIC) Kickstarter files wks +" Maintainer: Anakin Childerhose +" 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 "\" +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 diff --git a/test/old/testdir/test_filetype.vim b/test/old/testdir/test_filetype.vim index 0902c78334..54178a9cfc 100644 --- a/test/old/testdir/test_filetype.vim +++ b/test/old/testdir/test_filetype.vim @@ -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'],