diff options
Diffstat (limited to 'lua/lvim/core/builtins/init.lua')
-rw-r--r-- | lua/lvim/core/builtins/init.lua | 57 |
1 files changed, 36 insertions, 21 deletions
diff --git a/lua/lvim/core/builtins/init.lua b/lua/lvim/core/builtins/init.lua index 4764ff70..cd2946ab 100644 --- a/lua/lvim/core/builtins/init.lua +++ b/lua/lvim/core/builtins/init.lua @@ -1,29 +1,35 @@ local M = {} local builtins = { - "lvim.core.theme", - "lvim.core.which-key", - "lvim.core.gitsigns", - "lvim.core.cmp", - "lvim.core.dap", - "lvim.core.terminal", - "lvim.core.telescope", - "lvim.core.treesitter", - "lvim.core.nvimtree", - "lvim.core.lir", - "lvim.core.illuminate", - "lvim.core.indentlines", - "lvim.core.breadcrumbs", - "lvim.core.project", - "lvim.core.bufferline", - "lvim.core.autopairs", - "lvim.core.comment", - "lvim.core.lualine", - "lvim.core.alpha", - "lvim.core.mason", + "lvim.core.builtins.which-key", + "lvim.core.builtins.gitsigns", + "lvim.core.builtins.cmp", + "lvim.core.builtins.dap", + "lvim.core.builtins.terminal", + "lvim.core.builtins.telescope", + "lvim.core.builtins.treesitter", + "lvim.core.builtins.nvimtree", + "lvim.core.builtins.lir", + "lvim.core.builtins.illuminate", + "lvim.core.builtins.indentlines", + "lvim.core.builtins.breadcrumbs", + "lvim.core.builtins.project", + "lvim.core.builtins.bufferline", + "lvim.core.builtins.autopairs", + "lvim.core.builtins.comment", + "lvim.core.builtins.lualine", + "lvim.core.builtins.alpha", + "lvim.core.builtins.mason", } -function M.config(config) +---@class LvimBuiltin +---@field active boolean is builtin enabled +---@field on_config_done function function called after the builtin is set up + +function M.init(config) + ---@type {[string]: LvimBuiltin} + lvim.builtin = {} + for _, builtin_path in ipairs(builtins) do local builtin = reload(builtin_path) @@ -31,4 +37,13 @@ function M.config(config) end end +function M.setup(modname) + local plugin = require("lvim.core.builtins." .. modname).setup() + + local builtin_tbl = lvim.builtin[modname:gsub("-", "_")] + if plugin and type(builtin_tbl.on_config_done) == "function" then + builtin_tbl.on_config_done(plugin) + end +end + return M |