From 75545201259222c97207564dbb95a4922a138c93 Mon Sep 17 00:00:00 2001 From: bhagwan Date: Sun, 16 Jan 2022 16:32:51 -0800 Subject: [PATCH] exclude unusable function/modules from :FzfLua auto-complete --- lua/fzf-lua/init.lua | 39 ++++++++++++++++++++++++--------------- plugin/fzf-lua.vim | 9 ++++++++- 2 files changed, 32 insertions(+), 16 deletions(-) diff --git a/lua/fzf-lua/init.lua b/lua/fzf-lua/init.lua index df5c4c8..9c74c05 100644 --- a/lua/fzf-lua/init.lua +++ b/lua/fzf-lua/init.lua @@ -140,9 +140,13 @@ M.lsp_code_actions = require'fzf-lua.providers.lsp'.code_actions M.lsp_document_diagnostics = require'fzf-lua.providers.lsp'.diagnostics M.lsp_workspace_diagnostics = require'fzf-lua.providers.lsp'.workspace_diagnostics +-- API shortcuts +M.fzf = require'fzf-lua.core'.fzf +M.fzf_wrap = require'fzf-lua.core'.fzf_wrap +M.raw_fzf = require'fzf-lua.fzf'.raw_fzf -- exported modules -local _modules = { +M._exported_modules = { 'win', 'core', 'path', @@ -153,27 +157,32 @@ local _modules = { 'actions', } -for _, m in ipairs(_modules) do +-- excluded from builtin / auto-complete +M._excluded_meta = { + 'setup', + 'fzf', + 'fzf_wrap', + 'raw_fzf', + '_excluded_meta', + '_excluded_metamap', + '_exported_modules', +} + +for _, m in ipairs(M._exported_modules) do M[m] = require("fzf-lua." .. m) end --- API shortcuts -M.fzf = require'fzf-lua.core'.fzf -M.fzf_wrap = require'fzf-lua.core'.fzf_wrap -M.raw_fzf = require'fzf-lua.fzf'.raw_fzf +M._excluded_metamap = {} +for _, t in pairs({ M._excluded_meta, M._exported_modules }) do + for _, m in ipairs(t) do + M._excluded_metamap[m] = true + end +end M.builtin = function(opts) if not opts then opts = {} end opts.metatable = M - opts.metatable_exclude = { - ["setup"] = false, - ["fzf"] = false, - ["fzf_wrap"] = false, - ["raw_fzf"] = false, - } - for _, m in ipairs(_modules) do - opts.metatable_exclude[m] = false - end + opts.metatable_exclude = M._excluded_metamap return require'fzf-lua.providers.module'.metatable(opts) end diff --git a/plugin/fzf-lua.vim b/plugin/fzf-lua.vim index 48a5d61..d1e688b 100644 --- a/plugin/fzf-lua.vim +++ b/plugin/fzf-lua.vim @@ -10,7 +10,14 @@ let g:loaded_fzf_lua = 1 " FzfLua builtin lists function! s:fzflua_complete(arg,line,pos) - let l:builtin_list = luaeval('vim.tbl_keys(require("fzf-lua"))') + let l:builtin_list = luaeval('vim.tbl_filter( + \ function(k) + \ if require("fzf-lua")._excluded_metamap[k] then + \ return false + \ end + \ return true + \ end, + \ vim.tbl_keys(require("fzf-lua")))') let list = [l:builtin_list] let l = split(a:line[:a:pos-1], '\%(\%(\%(^\|[^\\]\)\\\)\@