Skip to content

Commit 7ada085

Browse files
committed
feat: register fzf-lua extensions
1 parent 025698b commit 7ada085

1 file changed

Lines changed: 12 additions & 0 deletions

File tree

lua/fzf-lua/init.lua

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -365,6 +365,7 @@ M._excluded_meta = {
365365
-- man_pages -> manpages
366366
"help_tags",
367367
"man_pages",
368+
"register_extension",
368369
}
369370

370371
for _, m in ipairs(exported_modules) do
@@ -387,6 +388,17 @@ M.builtin = function(opts)
387388
return require "fzf-lua.providers.meta".metatable(opts)
388389
end
389390

391+
M.register_extension = function(name, fun, default_opts, override)
392+
if not override and M[name] then
393+
utils.warn("Extension '%s' already exists, set 3rd arg to 'true' to override", name)
394+
return
395+
end
396+
M.defaults[name] = utils.deepcopy(default_opts)
397+
M[name] = function(...)
398+
utils.set_info({ cmd = name, fnc = name })
399+
return fun(...)
400+
end
401+
end
390402

391403
-- generate api typings
392404
-- for _, v in vim.spairs(exported_modules) do print(([[M.%s = require("fzf-lua.%s")]]):format(v, v)) end

0 commit comments

Comments
 (0)