summaryrefslogtreecommitdiff
path: root/lua/lvim/core
diff options
context:
space:
mode:
Diffstat (limited to 'lua/lvim/core')
-rw-r--r--lua/lvim/core/autocmds.lua3
-rw-r--r--lua/lvim/core/builtins/init.lua22
2 files changed, 17 insertions, 8 deletions
diff --git a/lua/lvim/core/autocmds.lua b/lua/lvim/core/autocmds.lua
index f980a27f..6f0fb36a 100644
--- a/lua/lvim/core/autocmds.lua
+++ b/lua/lvim/core/autocmds.lua
@@ -145,7 +145,8 @@ function M.load_defaults()
local buftype = vim.api.nvim_get_option_value("buftype", { buf = args.buf })
if not (vim.fn.expand "%" == "" or buftype == "nofile") then
vim.cmd "do User FileOpened"
- require("lvim.lsp").setup()
+
+ require("lvim.core.builtins").setup("lsp", "lvim.lsp", lvim.lsp)
end
end,
},
diff --git a/lua/lvim/core/builtins/init.lua b/lua/lvim/core/builtins/init.lua
index 865b498f..7e954073 100644
--- a/lua/lvim/core/builtins/init.lua
+++ b/lua/lvim/core/builtins/init.lua
@@ -29,7 +29,14 @@ local builtins = {
---@field on_config_done function function called to configure the builtin
function M.add_completion(builtin)
- local table = lvim.builtin[builtin]
+ local table
+
+ if type(builtin) == "string" then
+ table = lvim.builtin[builtin]
+ else
+ table = builtin
+ end
+
---@cast table +LvimBuiltin
return table
end
@@ -57,21 +64,22 @@ function M.init()
configure_treesitter = false,
},
}
+
+ lvim.lsp = {}
end
-function M.setup(builtin_mod_name)
- local builtin_name = builtin_mod_name:gsub("-", "_")
- local mod = require("lvim.core." .. builtin_mod_name)
+-- Configure and set up a builtin
+function M.setup(name, mod_path, config_table)
+ local mod = require(mod_path or ("lvim.core." .. name:gsub("_", "-")))
- -- initialize config table
mod.config()
- local builtin = lvim.builtin[builtin_name]
+ local builtin = config_table or lvim.builtin[name]
if type(builtin.on_config) == "function" then
builtin.on_config()
local deprecated = require "lvim.config._deprecated"
- local deprecation_handler = deprecated.post_builtin[builtin_name]
+ local deprecation_handler = deprecated.post_builtin[name]
if deprecation_handler then
deprecation_handler()
end