mirror of
https://github.com/neovim/neovim.git
synced 2024-12-20 03:05:11 -07:00
feat(runtime): Allow lua to be used in ftplugin
This commit is contained in:
parent
68be8b99cf
commit
fd5e5d2715
@ -411,7 +411,7 @@ Examples for the "stuff" filetype on Unix: >
|
|||||||
The <filetype> part is the name of the filetype the plugin is to be used for.
|
The <filetype> part is the name of the filetype the plugin is to be used for.
|
||||||
Only files of this filetype will use the settings from the plugin. The <name>
|
Only files of this filetype will use the settings from the plugin. The <name>
|
||||||
part of the plugin file doesn't matter, you can use it to have several plugins
|
part of the plugin file doesn't matter, you can use it to have several plugins
|
||||||
for the same filetype. Note that it must end in ".vim".
|
for the same filetype. Note that it must end in ".vim" or ".lua".
|
||||||
|
|
||||||
|
|
||||||
Further reading:
|
Further reading:
|
||||||
|
@ -28,7 +28,9 @@ augroup filetypeplugin
|
|||||||
" When there is a dot it is used to separate filetype names. Thus for
|
" When there is a dot it is used to separate filetype names. Thus for
|
||||||
" "aaa.bbb" load "aaa" and then "bbb".
|
" "aaa.bbb" load "aaa" and then "bbb".
|
||||||
for name in split(s, '\.')
|
for name in split(s, '\.')
|
||||||
exe 'runtime! ftplugin/' . name . '.vim ftplugin/' . name . '_*.vim ftplugin/' . name . '/*.vim'
|
exe 'runtime! ftplugin/' . name . '.vim ftplugin/' . name . '_*.vim ftplugin/' . name . '/*.vim'
|
||||||
|
" Load lua ftplugins
|
||||||
|
exe printf('runtime! ftplugin/%s.lua ftplugin/%s_*.lua ftplugin/%s/*.lua', name, name, name)
|
||||||
endfor
|
endfor
|
||||||
endif
|
endif
|
||||||
endfunc
|
endfunc
|
||||||
|
@ -23,6 +23,7 @@ describe('runtime:', function()
|
|||||||
end)
|
end)
|
||||||
|
|
||||||
describe('plugin', function()
|
describe('plugin', function()
|
||||||
|
before_each(clear)
|
||||||
it('loads plugin/*.lua from XDG config home', function()
|
it('loads plugin/*.lua from XDG config home', function()
|
||||||
local plugin_folder_path = table.concat({xconfig, 'nvim', 'plugin'}, pathsep)
|
local plugin_folder_path = table.concat({xconfig, 'nvim', 'plugin'}, pathsep)
|
||||||
local plugin_file_path = table.concat({plugin_folder_path, 'plugin.lua'}, pathsep)
|
local plugin_file_path = table.concat({plugin_folder_path, 'plugin.lua'}, pathsep)
|
||||||
@ -53,6 +54,7 @@ describe('runtime:', function()
|
|||||||
end)
|
end)
|
||||||
|
|
||||||
describe('colors', function()
|
describe('colors', function()
|
||||||
|
before_each(clear)
|
||||||
it('loads lua colorscheme', function()
|
it('loads lua colorscheme', function()
|
||||||
local colorscheme_folder = table.concat({xconfig, 'nvim', 'colors'},
|
local colorscheme_folder = table.concat({xconfig, 'nvim', 'colors'},
|
||||||
pathsep)
|
pathsep)
|
||||||
@ -87,6 +89,7 @@ describe('runtime:', function()
|
|||||||
|
|
||||||
describe('compiler', function()
|
describe('compiler', function()
|
||||||
local compiler_folder = table.concat({xconfig, 'nvim', 'compiler'}, pathsep)
|
local compiler_folder = table.concat({xconfig, 'nvim', 'compiler'}, pathsep)
|
||||||
|
before_each(clear)
|
||||||
|
|
||||||
it('loads lua compilers', function()
|
it('loads lua compilers', function()
|
||||||
local compiler_file = table.concat({compiler_folder, 'new_compiler.lua'},
|
local compiler_file = table.concat({compiler_folder, 'new_compiler.lua'},
|
||||||
@ -115,5 +118,23 @@ describe('runtime:', function()
|
|||||||
rmdir(compiler_folder)
|
rmdir(compiler_folder)
|
||||||
end)
|
end)
|
||||||
end)
|
end)
|
||||||
|
|
||||||
|
describe('ftplugin', function()
|
||||||
|
local ftplugin_folder = table.concat({xconfig, 'nvim', 'ftplugin'}, pathsep)
|
||||||
|
|
||||||
|
before_each(clear)
|
||||||
|
|
||||||
|
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 ]])
|
||||||
|
|
||||||
|
clear{ args_rm={'-u' }, env={ XDG_CONFIG_HOME=xconfig, VIMRUNTIME='runtime/' }}
|
||||||
|
|
||||||
|
exec [[set filetype=new-ft]]
|
||||||
|
eq(1, eval('g:lua_ftplugin'))
|
||||||
|
rmdir(ftplugin_folder)
|
||||||
|
end)
|
||||||
|
end)
|
||||||
end)
|
end)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user