diff options
author | LostNeophyte <[email protected]> | 2023-02-07 18:57:10 +0100 |
---|---|---|
committer | LostNeophyte <[email protected]> | 2023-02-07 18:57:10 +0100 |
commit | 620e51898275764502853f3908707ef71ce42313 (patch) | |
tree | 8705fe27dc7690b041d061b80fd1c4fd42387882 /lua/lvim/core/builtins/init.lua | |
parent | 24d8780d7392f444f852e646eb8e438b4c629850 (diff) |
refactor(builtins): centralize setting up builtins
Diffstat (limited to 'lua/lvim/core/builtins/init.lua')
-rw-r--r-- | lua/lvim/core/builtins/init.lua | 16 |
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 |