diff --git a/runtime/ftplugin/soy.vim b/runtime/ftplugin/soy.vim new file mode 100644 index 0000000000..dcfe38895b --- /dev/null +++ b/runtime/ftplugin/soy.vim @@ -0,0 +1,14 @@ +" Vim filetype plugin +" Language: Soy (Closure Templates) +" Maintainer: Riley Bruins +" Last Change: 2025 Oct 24 + +if exists('b:did_ftplugin') + finish +endif +let b:did_ftplugin = 1 + +setlocal comments=sO:*\ -,mO:*\ \ ,exO:*/,s1:/*,mb:*,ex:*/,:// +setlocal commentstring=//\ %s + +let b:undo_ftplugin = "setlocal comments< commentstring<" diff --git a/runtime/lua/vim/filetype.lua b/runtime/lua/vim/filetype.lua index f116d89322..da647ffc4f 100644 --- a/runtime/lua/vim/filetype.lua +++ b/runtime/lua/vim/filetype.lua @@ -1172,6 +1172,7 @@ local extension = { spt = 'snobol4', sno = 'snobol4', sln = 'solution', + soy = 'soy', sparql = 'sparql', rq = 'sparql', spec = 'spec', diff --git a/test/old/testdir/test_filetype.vim b/test/old/testdir/test_filetype.vim index 5b7bf7535a..ed7e3c7287 100644 --- a/test/old/testdir/test_filetype.vim +++ b/test/old/testdir/test_filetype.vim @@ -744,6 +744,7 @@ func s:GetFilenameChecks() abort \ 'snobol4': ['file.sno', 'file.spt'], \ 'solidity': ['file.sol'], \ 'solution': ['file.sln'], + \ 'soy': ['file.soy'], \ 'spajson': ['any/pipewire/file.conf', 'any/pipewire/file.conf.d/other.conf', \ 'any/wireplumber/file.conf', 'any/wireplumber/file.conf.d/other.conf'], \ 'sparql': ['file.rq', 'file.sparql'],