mirror of
https://github.com/neovim/neovim.git
synced 2025-02-25 18:55:25 -06:00
feat(runtime): Allow lua to be used in ftdetect
This commit is contained in:
parent
4dffe1ff2f
commit
f256a18fef
@ -2303,6 +2303,7 @@ au BufNewFile,BufRead *.txt
|
||||
" Use the filetype detect plugins. They may overrule any of the previously
|
||||
" detected filetypes.
|
||||
runtime! ftdetect/*.vim
|
||||
runtime! ftdetect/*.lua
|
||||
|
||||
" NOTE: The above command could have ended the filetypedetect autocmd group
|
||||
" and started another one. Let's make sure it has ended to get to a consistent
|
||||
|
@ -421,9 +421,9 @@ static int load_pack_plugin(char_u *fname)
|
||||
size_t len = strlen(ffname) + STRLEN(ftpat);
|
||||
char_u *pat = xmallocz(len);
|
||||
|
||||
vim_snprintf((char *)pat, len, "%s/plugin/**/*.vim", ffname);
|
||||
vim_snprintf((char *)pat, len, "%s/plugin/**/*.vim", ffname); // NOLINT
|
||||
source_all_matches(pat);
|
||||
vim_snprintf((char *)pat, len, "%s/plugin/**/*.lua", ffname);
|
||||
vim_snprintf((char *)pat, len, "%s/plugin/**/*.lua", ffname); // NOLINT
|
||||
source_all_matches(pat);
|
||||
|
||||
char_u *cmd = vim_strsave((char_u *)"g:did_load_filetypes");
|
||||
@ -434,6 +434,8 @@ static int load_pack_plugin(char_u *fname)
|
||||
do_cmdline_cmd("augroup filetypedetect");
|
||||
vim_snprintf((char *)pat, len, ftpat, ffname);
|
||||
source_all_matches(pat);
|
||||
vim_snprintf((char *)pat, len, "%s/ftdetect/*.lua", ffname); // NOLINT
|
||||
source_all_matches(pat);
|
||||
do_cmdline_cmd("augroup END");
|
||||
}
|
||||
xfree(cmd);
|
||||
|
@ -127,7 +127,7 @@ describe('runtime:', function()
|
||||
it('loads lua ftplugins', function()
|
||||
local ftplugin_file = table.concat({ftplugin_folder , 'new-ft.lua'}, pathsep)
|
||||
mkdir_p(ftplugin_folder)
|
||||
write_file(ftplugin_file , [[ vim.g.lua_ftplugin = 1 ]])
|
||||
write_file(ftplugin_file , [[vim.g.lua_ftplugin = 1]])
|
||||
|
||||
clear{ args_rm={'-u' }, env={ XDG_CONFIG_HOME=xconfig, VIMRUNTIME='runtime/' }}
|
||||
|
||||
@ -145,7 +145,7 @@ describe('runtime:', function()
|
||||
it('loads lua indents', function()
|
||||
local indent_file = table.concat({indent_folder , 'new-ft.lua'}, pathsep)
|
||||
mkdir_p(indent_folder)
|
||||
write_file(indent_file , [[ vim.g.lua_indent = 1 ]])
|
||||
write_file(indent_file , [[vim.g.lua_indent = 1]])
|
||||
|
||||
clear{ args_rm={'-u' }, env={ XDG_CONFIG_HOME=xconfig, VIMRUNTIME='runtime/' }}
|
||||
|
||||
@ -155,5 +155,22 @@ describe('runtime:', function()
|
||||
end)
|
||||
end)
|
||||
|
||||
describe('ftdetect', function()
|
||||
local ftdetect_folder = table.concat({xconfig, 'nvim', 'ftdetect'}, pathsep)
|
||||
|
||||
before_each(clear)
|
||||
|
||||
it('loads lua ftdetects', function()
|
||||
local ftdetect_file = table.concat({ftdetect_folder , 'new-ft.lua'}, pathsep)
|
||||
mkdir_p(ftdetect_folder)
|
||||
write_file(ftdetect_file , [[vim.g.lua_ftdetect = 1]])
|
||||
|
||||
clear{ args_rm={'-u' }, env={ XDG_CONFIG_HOME=xconfig, VIMRUNTIME='runtime/' }}
|
||||
|
||||
eq(1, eval('g:lua_ftdetect'))
|
||||
rmdir(ftdetect_folder)
|
||||
end)
|
||||
end)
|
||||
|
||||
end)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user