summaryrefslogtreecommitdiff
path: root/lua/lvim/lsp/init.lua
diff options
context:
space:
mode:
Diffstat (limited to 'lua/lvim/lsp/init.lua')
-rw-r--r--lua/lvim/lsp/init.lua48
1 files changed, 17 insertions, 31 deletions
diff --git a/lua/lvim/lsp/init.lua b/lua/lvim/lsp/init.lua
index 2f3258c9..53b4f248 100644
--- a/lua/lvim/lsp/init.lua
+++ b/lua/lvim/lsp/init.lua
@@ -3,6 +3,12 @@ local Log = require "lvim.core.log"
local utils = require "lvim.utils"
local autocmds = require "lvim.core.autocmds"
+local function add_lsp_buffer_options(bufnr)
+ for k, v in pairs(lvim.lsp.buffer_options) do
+ vim.api.nvim_buf_set_option(bufnr, k, v)
+ end
+end
+
local function add_lsp_buffer_keybindings(bufnr)
local mappings = {
normal_mode = "n",
@@ -10,21 +16,10 @@ local function add_lsp_buffer_keybindings(bufnr)
visual_mode = "v",
}
- if lvim.builtin.which_key.active then
- -- Remap using which_key
- local status_ok, wk = pcall(require, "which-key")
- if not status_ok then
- return
- end
- for mode_name, mode_char in pairs(mappings) do
- wk.register(lvim.lsp.buffer_mappings[mode_name], { mode = mode_char, buffer = bufnr })
- end
- else
- -- Remap using nvim api
- for mode_name, mode_char in pairs(mappings) do
- for key, remap in pairs(lvim.lsp.buffer_mappings[mode_name]) do
- vim.api.nvim_buf_set_keymap(bufnr, mode_char, key, remap[1], { noremap = true, silent = true })
- end
+ for mode_name, mode_char in pairs(mappings) do
+ for key, remap in pairs(lvim.lsp.buffer_mappings[mode_name]) do
+ local opts = { buffer = bufnr, desc = remap[2], noremap = true, silent = true }
+ vim.keymap.set(mode_char, key, remap[1], opts)
end
end
end
@@ -78,14 +73,7 @@ function M.common_on_attach(client, bufnr)
lu.setup_codelens_refresh(client, bufnr)
end
add_lsp_buffer_keybindings(bufnr)
-end
-
-local function bootstrap_nlsp(opts)
- opts = opts or {}
- local lsp_settings_status_ok, lsp_settings = pcall(require, "nlspsettings")
- if lsp_settings_status_ok then
- lsp_settings.setup(opts)
- end
+ add_lsp_buffer_options(bufnr)
end
function M.get_common_opts()
@@ -117,15 +105,13 @@ function M.setup()
require("lvim.lsp.templates").generate_templates()
end
- bootstrap_nlsp {
- config_home = utils.join_paths(get_config_dir(), "lsp-settings"),
- append_default_schemas = true,
- }
+ pcall(function()
+ require("nlspsettings").setup(lvim.lsp.nlsp_settings.setup)
+ end)
- require("nvim-lsp-installer").setup {
- -- use the default nvim_data_dir, since the server binaries are independent
- install_root_dir = utils.join_paths(vim.call("stdpath", "data"), "lsp_servers"),
- }
+ pcall(function()
+ require("nvim-lsp-installer").setup(lvim.lsp.installer.setup)
+ end)
require("lvim.lsp.null-ls").setup()