diff options
author | LostNeophyte <[email protected]> | 2023-02-18 08:55:05 +0100 |
---|---|---|
committer | LostNeophyte <[email protected]> | 2023-02-18 08:55:05 +0100 |
commit | 8f70ecd882cf44567ddbffb469373501492938f9 (patch) | |
tree | 1498fd1de08c1aec46fa628701e1b5e9a47c4e3b /lua/lvim/builtin/init.lua | |
parent | 3144585515000a1c3064c6129ded74f662598de1 (diff) |
refactor(builtins): move builtins to lvim/builtinrefactor/builtins
Diffstat (limited to 'lua/lvim/builtin/init.lua')
-rw-r--r-- | lua/lvim/builtin/init.lua | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/lua/lvim/builtin/init.lua b/lua/lvim/builtin/init.lua new file mode 100644 index 00000000..21ae9c51 --- /dev/null +++ b/lua/lvim/builtin/init.lua @@ -0,0 +1,49 @@ +local M = {} + +local builtins = { + "lvim.builtin.which-key", + "lvim.builtin.gitsigns", + "lvim.builtin.cmp", + "lvim.builtin.dap", + "lvim.builtin.terminal", + "lvim.builtin.telescope", + "lvim.builtin.treesitter", + "lvim.builtin.nvimtree", + "lvim.builtin.lir", + "lvim.builtin.illuminate", + "lvim.builtin.indentlines", + "lvim.builtin.breadcrumbs", + "lvim.builtin.project", + "lvim.builtin.bufferline", + "lvim.builtin.autopairs", + "lvim.builtin.comment", + "lvim.builtin.lualine", + "lvim.builtin.alpha", + "lvim.builtin.mason", +} + +---@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) + + builtin.config(config) + end +end + +function M.setup(modname) + local plugin = require("lvim.builtin." .. 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 |