diff options
| -rw-r--r-- | lua/telescope/command.lua | 9 | ||||
| -rw-r--r-- | plugin/telescope.vim | 4 |
2 files changed, 7 insertions, 6 deletions
diff --git a/lua/telescope/command.lua b/lua/telescope/command.lua index 3034164..978d5be 100644 --- a/lua/telescope/command.lua +++ b/lua/telescope/command.lua @@ -104,16 +104,17 @@ end -- @Summary get extensions sub command -- register extensions dap gh etc. -- input in command line `Telescope gh <TAB>` --- It will show a list that all extensions sub command list --- ['commands','list_breakpoints','variables','issues','gist','pull_request'] +-- Returns a list for each extension. function command.get_extensions_subcommand() local exts = require('telescope._extensions').manager local complete_ext_table = {} - for _,value in pairs(exts) do + for cmd,value in pairs(exts) do if type(value) == "table" then + local subcmds = {} for key,_ in pairs(value) do - table.insert(complete_ext_table,key) + table.insert(subcmds, key) end + complete_ext_table[cmd] = subcmds end end return complete_ext_table diff --git a/plugin/telescope.vim b/plugin/telescope.vim index 2ced08b..751358c 100644 --- a/plugin/telescope.vim +++ b/plugin/telescope.vim @@ -77,7 +77,7 @@ function! s:telescope_complete(arg,line,pos) let l:builtin_list = luaeval('vim.tbl_keys(require("telescope.builtin"))') let l:extensions_list = luaeval('vim.tbl_keys(require("telescope._extensions").manager)') let l:options_list = luaeval('vim.tbl_keys(require("telescope.config").values)') - let l:extensions_subcommand_list = luaeval('require("telescope.command").get_extensions_subcommand()') + let l:extensions_subcommand_dict = luaeval('require("telescope.command").get_extensions_subcommand()') let list = [extend(l:builtin_list,l:extensions_list),l:options_list] let l = split(a:line[:a:pos-1], '\%(\%(\%(^\|[^\\]\)\\\)\@<!\s\)\+', 1) @@ -89,7 +89,7 @@ function! s:telescope_complete(arg,line,pos) if n == 1 if index(l:extensions_list,l[1]) >= 0 - return join(l:extensions_subcommand_list,"\n") + return join(get(l:extensions_subcommand_dict, l[1], []),"\n") endif return join(list[1],"\n") endif |
