summaryrefslogtreecommitdiff
path: root/lua/lvim/core/builtins/init.lua
diff options
context:
space:
mode:
Diffstat (limited to 'lua/lvim/core/builtins/init.lua')
-rw-r--r--lua/lvim/core/builtins/init.lua16
1 files changed, 16 insertions, 0 deletions
diff --git a/lua/lvim/core/builtins/init.lua b/lua/lvim/core/builtins/init.lua
index 4764ff70..1a564cd6 100644
--- a/lua/lvim/core/builtins/init.lua
+++ b/lua/lvim/core/builtins/init.lua
@@ -23,7 +23,14 @@ local builtins = {
"lvim.core.mason",
}
+---@class LvimBuiltin
+---@field active boolean is builtin enabled
+---@field on_config_done function function called after the builtin is set up
+
function M.config(config)
+ ---@type {[string]: LvimBuiltin}
+ lvim.builtin = {}
+
for _, builtin_path in ipairs(builtins) do
local builtin = reload(builtin_path)
@@ -31,4 +38,13 @@ function M.config(config)
end
end
+function M.setup_builtin(modname)
+ require("lvim.core." .. modname).setup()
+
+ local builtin_tbl = lvim.builtin[string.gsub(modname, "-", "_")]
+ if type(builtin_tbl.on_config_done) == "function" then
+ builtin_tbl.on_config_done()
+ end
+end
+
return M