diff options
Diffstat (limited to 'lua/lvim/lsp/init.lua')
| -rw-r--r-- | lua/lvim/lsp/init.lua | 48 | 
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() | 
