diff --git a/runtime/lua/vim/filetype.lua b/runtime/lua/vim/filetype.lua index d549428158..bd55c97f15 100644 --- a/runtime/lua/vim/filetype.lua +++ b/runtime/lua/vim/filetype.lua @@ -1024,6 +1024,7 @@ local extension = { rake = 'ruby', rs = 'rust', sage = 'sage', + sls = 'salt', sas = 'sas', sass = 'sass', sa = 'sather', diff --git a/runtime/syntax/salt.vim b/runtime/syntax/salt.vim new file mode 100644 index 0000000000..fdbce2f677 --- /dev/null +++ b/runtime/syntax/salt.vim @@ -0,0 +1,16 @@ +" Vim syntax file +" Maintainer: Gregory Anders +" Last Changed: 2024-09-16 + +if exists('b:current_syntax') + finish +endif + +" Salt state files are just YAML with embedded Jinja +runtime! syntax/yaml.vim +unlet! b:current_syntax + +runtime! syntax/jinja.vim +unlet! b:current_syntax + +let b:current_syntax = 'salt' diff --git a/test/old/testdir/test_filetype.vim b/test/old/testdir/test_filetype.vim index 31a51f1254..51b6f884f4 100644 --- a/test/old/testdir/test_filetype.vim +++ b/test/old/testdir/test_filetype.vim @@ -633,6 +633,7 @@ func s:GetFilenameChecks() abort \ 'rtf': ['file.rtf'], \ 'ruby': ['.irbrc', 'irbrc', '.irb_history', 'irb_history', 'file.rb', 'file.rbw', 'file.gemspec', 'file.ru', 'Gemfile', 'file.builder', 'file.rxml', 'file.rjs', 'file.rant', 'file.rake', 'rakefile', 'Rakefile', 'rantfile', 'Rantfile', 'rakefile-file', 'Rakefile-file', 'Puppetfile', 'Vagrantfile'], \ 'rust': ['file.rs'], + \ 'salt': ['file.sls'], \ 'samba': ['smb.conf'], \ 'sas': ['file.sas'], \ 'sass': ['file.sass'],