summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lua/lvim/config/_deprecated.lua16
-rw-r--r--lua/lvim/config/init.lua2
-rw-r--r--lua/lvim/core/autocmds.lua3
-rw-r--r--lua/lvim/core/builtins/init.lua22
-rw-r--r--lua/lvim/lsp/config.lua9
-rw-r--r--lua/lvim/lsp/init.lua9
-rw-r--r--lua/lvim/plugins.lua2
7 files changed, 26 insertions, 37 deletions
diff --git a/lua/lvim/config/_deprecated.lua b/lua/lvim/config/_deprecated.lua
index 9424f665..1720d228 100644
--- a/lua/lvim/config/_deprecated.lua
+++ b/lua/lvim/config/_deprecated.lua
@@ -44,15 +44,6 @@ function M.pre_user_config()
end
function M.post_user_config()
- if lvim.lsp.override and not vim.tbl_isempty(lvim.lsp.override) then
- deprecate("lvim.lsp.override", "Use `lvim.lsp.automatic_configuration.skipped_servers` instead")
- vim.tbl_map(function(c)
- if not vim.tbl_contains(lvim.lsp.automatic_configuration.skipped_servers, c) then
- table.insert(lvim.lsp.automatic_configuration.skipped_servers, c)
- end
- end, lvim.lsp.override)
- end
-
if lvim.autocommands.custom_groups then
deprecate(
"lvim.autocommands.custom_groups",
@@ -60,13 +51,6 @@ function M.post_user_config()
)
end
- if lvim.lsp.automatic_servers_installation then
- deprecate(
- "lvim.lsp.automatic_servers_installation",
- "Use `lvim.lsp.installer.setup.automatic_installation` instead"
- )
- end
-
local function convert_spec_to_lazy(spec)
local alternatives = {
setup = "init",
diff --git a/lua/lvim/config/init.lua b/lua/lvim/config/init.lua
index 7823d9f2..915b115f 100644
--- a/lua/lvim/config/init.lua
+++ b/lua/lvim/config/init.lua
@@ -51,7 +51,7 @@ function M:load(config_path)
Log:set_level(lvim.log.level)
- -- require("lvim.config._deprecated").post_load()
+ require("lvim.config._deprecated").post_user_config()
autocmds.define_autocmds(lvim.autocommands)
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
diff --git a/lua/lvim/lsp/config.lua b/lua/lvim/lsp/config.lua
index 4cb9cf54..031751f3 100644
--- a/lua/lvim/lsp/config.lua
+++ b/lua/lvim/lsp/config.lua
@@ -50,9 +50,8 @@ local M = {}
M.config = function()
local join_paths = require("lvim.utils").join_paths
+ local users_config = lvim.lsp
lvim.lsp = {
- -- Function that gets called to configure lvim.lsp
- config = nil,
templates_dir = join_paths(get_runtime_dir(), "site", "after", "ftplugin"),
diagnostics = {
signs = {
@@ -149,11 +148,9 @@ M.config = function()
},
config = {},
},
- ---@deprecated use lvim.lsp.automatic_configuration.skipped_servers instead
- override = {},
- ---@deprecated use lvim.lsp.installer.setup.automatic_installation instead
- automatic_servers_installation = nil,
}
+ local config = vim.tbl_deep_extend("force", lvim.lsp, users_config)
+ lvim.lsp = require("lvim.core.builtins").add_completion(config)
end
return M
diff --git a/lua/lvim/lsp/init.lua b/lua/lvim/lsp/init.lua
index 03650a99..a1862abb 100644
--- a/lua/lvim/lsp/init.lua
+++ b/lua/lvim/lsp/init.lua
@@ -86,14 +86,13 @@ function M.get_common_opts()
}
end
+function M.config()
+ require("lvim.lsp.config").config()
+end
+
function M.setup()
Log:debug "Setting up LSP support"
- require("lvim.lsp.config").config()
- if type(lvim.lsp.config) == "function" then
- lvim.lsp.config()
- end
-
local lsp_status_ok, _ = pcall(require, "lspconfig")
if not lsp_status_ok then
return
diff --git a/lua/lvim/plugins.lua b/lua/lvim/plugins.lua
index 9e36d4a8..ae03cf9f 100644
--- a/lua/lvim/plugins.lua
+++ b/lua/lvim/plugins.lua
@@ -156,7 +156,7 @@ local core_plugins = {
{
"folke/which-key.nvim",
config = function()
- require("lvim.core.builtins").setup "which-key"
+ require("lvim.core.builtins").setup "which_key"
end,
event = "VeryLazy",
enabled = lvim.builtin.which_key.active,