mirror of
https://github.com/zoriya/telescope.nvim.git
synced 2026-06-01 18:47:03 +00:00
WIP: Starting
This commit is contained in:
@@ -3,24 +3,6 @@ local extensions = {}
|
||||
extensions._loaded = {}
|
||||
extensions._config = {}
|
||||
|
||||
extensions.manager = setmetatable({}, {
|
||||
__index = function(t, k)
|
||||
-- See if this extension exists.
|
||||
local ok, ext = pcall(require, 'telescope._extensions.' .. k)
|
||||
if not ok then
|
||||
error("This extension doesn't exist or is not installed: " .. k .. "\n" .. ext)
|
||||
end
|
||||
|
||||
if ext.setup then
|
||||
ext.setup(extensions._config[k] or {}, require('telescope.config').values)
|
||||
end
|
||||
|
||||
t[k] = ext.exports or {}
|
||||
|
||||
return t[k]
|
||||
end,
|
||||
})
|
||||
|
||||
--- Register an extension module.
|
||||
---
|
||||
--- Extensions have several important keys.
|
||||
@@ -57,6 +39,33 @@ end
|
||||
|
||||
extensions.set_config = function(extensions_config)
|
||||
extensions._config = extensions_config or {}
|
||||
|
||||
for ext in pairs(extensions._config) do
|
||||
extensions.load(ext)
|
||||
end
|
||||
end
|
||||
|
||||
extensions._setup_extension = function(name, ext, conf)
|
||||
if ext.setup then
|
||||
print("Calling setup for ext: ", name)
|
||||
ext.setup(conf or {}, require('telescope.config').values)
|
||||
end
|
||||
end
|
||||
|
||||
extensions.manager = setmetatable({}, {
|
||||
__index = function(t, k)
|
||||
-- See if this extension exists.
|
||||
local ok, ext = pcall(require, 'telescope._extensions.' .. k)
|
||||
if not ok then
|
||||
error("This extension doesn't exist or is not installed: " .. k .. "\n" .. ext)
|
||||
end
|
||||
|
||||
extensions._setup_extension(k, ext, extensions._config[k])
|
||||
|
||||
t[k] = ext.exports or {}
|
||||
return t[k]
|
||||
end,
|
||||
})
|
||||
|
||||
|
||||
return extensions
|
||||
|
||||
Reference in New Issue
Block a user