diff options
-rw-r--r-- | runtime/syntax/synload.vim | 3 | ||||
-rw-r--r-- | test/functional/lua/runtime_spec.lua | 30 |
2 files changed, 32 insertions, 1 deletions
diff --git a/runtime/syntax/synload.vim b/runtime/syntax/synload.vim index f373161c7c..3863a84c1a 100644 --- a/runtime/syntax/synload.vim +++ b/runtime/syntax/synload.vim @@ -55,7 +55,8 @@ fun! s:SynSet() " load each in sequence. Skip empty entries. for name in split(s, '\.') if !empty(name) - exe "runtime! syntax/" . name . ".vim syntax/" . name . "/*.vim" + exe "runtime! syntax/" . name . ".vim syntax/" . name . "/*.vim" + exe "runtime! syntax/" . name . ".lua syntax/" . name . "/*.lua" endif endfor endif diff --git a/test/functional/lua/runtime_spec.lua b/test/functional/lua/runtime_spec.lua index 7286e89c76..cbdc6fa184 100644 --- a/test/functional/lua/runtime_spec.lua +++ b/test/functional/lua/runtime_spec.lua @@ -172,5 +172,35 @@ describe('runtime:', function() end) end) + describe('syntax', function() + local syntax_folder = table.concat({xconfig, 'nvim', 'syntax'}, pathsep) + + before_each(clear) + + it('loads lua syntaxes on filetype change', function() + local syntax_file = table.concat({syntax_folder , 'my-lang.lua'}, pathsep) + mkdir_p(syntax_folder) + write_file(syntax_file , [[vim.g.lua_syntax = 1]]) + + clear{ args_rm={'-u' }, env={ XDG_CONFIG_HOME=xconfig, VIMRUNTIME='runtime/' }} + + exec('set filetype=my-lang') + eq(1, eval('g:lua_syntax')) + rmdir(syntax_folder) + end) + + it('loads lua syntaxes on syntax change', function() + local syntax_file = table.concat({syntax_folder , 'my-lang.lua'}, pathsep) + mkdir_p(syntax_folder) + write_file(syntax_file , [[vim.g.lua_syntax = 5]]) + + clear{ args_rm={'-u' }, env={ XDG_CONFIG_HOME=xconfig, VIMRUNTIME='runtime/' }} + + exec('set syntax=my-lang') + eq(5, eval('g:lua_syntax')) + rmdir(syntax_folder) + end) + end) + end) |