From 620e51898275764502853f3908707ef71ce42313 Mon Sep 17 00:00:00 2001 From: LostNeophyte Date: Tue, 7 Feb 2023 18:57:10 +0100 Subject: refactor(builtins): centralize setting up builtins --- lua/lvim/core/builtins/init.lua | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'lua/lvim/core/builtins/init.lua') 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 -- cgit v1.2.3