From 1ba18329c75b93e5c8b31fbfeea63637c79d1359 Mon Sep 17 00:00:00 2001 From: Santos Gallegos Date: Fri, 4 Sep 2020 12:44:19 -0500 Subject: Refactor: move completion functions to autoload --- autoload/nvim_treesitter.vim | 16 ++++++++++++++-- lua/nvim-treesitter/configs.lua | 16 ++++++++-------- lua/nvim-treesitter/info.lua | 8 ++++---- lua/nvim-treesitter/install.lua | 18 +++++++++--------- plugin/nvim-treesitter.vim | 13 +------------ 5 files changed, 36 insertions(+), 35 deletions(-) diff --git a/autoload/nvim_treesitter.vim b/autoload/nvim_treesitter.vim index 65986a8bb..c9f39085e 100644 --- a/autoload/nvim_treesitter.vim +++ b/autoload/nvim_treesitter.vim @@ -1,7 +1,19 @@ -function! nvim_treesitter#statusline(len) +function! nvim_treesitter#statusline(len) abort return luaeval("require'nvim-treesitter'.statusline(_A)", a:len) endfunction -function! nvim_treesitter#foldexpr() +function! nvim_treesitter#foldexpr() abort return luaeval(printf('require"nvim-treesitter.fold".get_fold_indic(%d)', v:lnum)) endfunction + +function! nvim_treesitter#installable_parsers(arglead, cmdline, cursorpos) abort + return luaeval("require'nvim-treesitter.parsers'.available_parsers()") + ['all'] +endfunction + +function! nvim_treesitter#installed_parsers(arglead, cmdline, cursorpos) abort + return luaeval("require'nvim-treesitter.info'.installed_parsers()") + ['all'] +endfunction + +function! nvim_treesitter#available_modules(arglead, cmdline, cursorpos) abort + return luaeval("require'nvim-treesitter.configs'.available_modules()") +endfunction diff --git a/lua/nvim-treesitter/configs.lua b/lua/nvim-treesitter/configs.lua index 204498e8d..c9e1af3d0 100644 --- a/lua/nvim-treesitter/configs.lua +++ b/lua/nvim-treesitter/configs.lua @@ -251,29 +251,29 @@ M.commands = { run = enable_module, args = { "-nargs=1", - "-complete=custom,v:lua.ts_available_modules" - } + "-complete=customlist,nvim_treesitter#available_modules", + }, }, TSBufDisable = { run = disable_module, args = { "-nargs=1", - "-complete=custom,v:lua.ts_available_modules" - } + "-complete=customlist,nvim_treesitter#available_modules", + }, }, TSEnableAll = { run = enable_all, args = { "-nargs=+", - "-complete=custom,v:lua.ts_available_modules" - } + "-complete=customlist,v:lua.ts_available_modules", + }, }, TSDisableAll = { run = disable_all, args = { "-nargs=+", - "-complete=custom,v:lua.ts_available_modules" - } + "-complete=customlist,v:lua.ts_available_modules", + }, }, } diff --git a/lua/nvim-treesitter/info.lua b/lua/nvim-treesitter/info.lua index 092c7c8c1..77fd945f3 100644 --- a/lua/nvim-treesitter/info.lua +++ b/lua/nvim-treesitter/info.lua @@ -91,15 +91,15 @@ M.commands = { run = install_info, args = { "-nargs=0", - } + }, }, TSModuleInfo = { run = module_info, args = { "-nargs=?", - "-complete=custom,v:lua.ts_available_modules" - } - } + "-complete=customlist,nvim_treesitter#available_modules", + }, + }, } return M diff --git a/lua/nvim-treesitter/install.lua b/lua/nvim-treesitter/install.lua index 9993cd8f7..8b4aa7835 100644 --- a/lua/nvim-treesitter/install.lua +++ b/lua/nvim-treesitter/install.lua @@ -235,30 +235,30 @@ M.commands = { run = install(false, true), args = { "-nargs=+", - "-complete=custom,v:lua.ts_installable_parsers" - } + "-complete=customlist,nvim_treesitter#installable_parsers", + }, }, TSInstallSync = { run = install(true, true), args = { "-nargs=+", - "-complete=custom,v:lua.ts_installable_parsers" - } + "-complete=customlist,nvim_treesitter#installable_parsers", + }, }, TSUpdate = { run = M.update, args = { "-nargs=*", - "-complete=custom,v:lua.ts_installed_parsers" - } + "-complete=customlist,nvim_treesitter#installed_parsers", + }, }, TSUninstall = { run = M.uninstall, args = { "-nargs=+", - "-complete=custom,v:lua.ts_installed_parsers" - } - } + "-complete=customlist,nvim_treesitter#installed_parsers", + }, + }, } return M diff --git a/plugin/nvim-treesitter.vim b/plugin/nvim-treesitter.vim index 5b4f72901..99d35170d 100644 --- a/plugin/nvim-treesitter.vim +++ b/plugin/nvim-treesitter.vim @@ -9,18 +9,7 @@ augroup END let g:loaded_nvim_treesitter = 1 -lua << EOF -ts_installable_parsers = function() - return table.concat(require'nvim-treesitter.parsers'.available_parsers(), '\n')..'\nall\n' -end -ts_installed_parsers = function() - return table.concat(require'nvim-treesitter.info'.installed_parsers(), '\n')..'\nall\n' -end -ts_available_modules = function() - return table.concat(require'nvim-treesitter.configs'.available_modules(), '\n') -end -require'nvim-treesitter'.setup() -EOF +lua require'nvim-treesitter'.setup() highlight default link TSError Error -- cgit v1.2.3-70-g09d2