summaryrefslogtreecommitdiff
path: root/lua/lvim/builtin/init.lua
diff options
context:
space:
mode:
authorLostNeophyte <[email protected]>2023-02-18 08:55:05 +0100
committerLostNeophyte <[email protected]>2023-02-18 08:55:05 +0100
commit8f70ecd882cf44567ddbffb469373501492938f9 (patch)
tree1498fd1de08c1aec46fa628701e1b5e9a47c4e3b /lua/lvim/builtin/init.lua
parent3144585515000a1c3064c6129ded74f662598de1 (diff)
refactor(builtins): move builtins to lvim/builtinrefactor/builtins
Diffstat (limited to 'lua/lvim/builtin/init.lua')
-rw-r--r--lua/lvim/builtin/init.lua49
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