diff options
Diffstat (limited to 'lua/lsp/init.lua')
-rw-r--r-- | lua/lsp/init.lua | 35 |
1 files changed, 25 insertions, 10 deletions
diff --git a/lua/lsp/init.lua b/lua/lsp/init.lua index edac2245..3fa4fb94 100644 --- a/lua/lsp/init.lua +++ b/lua/lsp/init.lua @@ -1,16 +1,6 @@ local M = {} local Log = require "core.log" -function M.config() - vim.lsp.protocol.CompletionItemKind = lvim.lsp.completion.item_kind - - for _, sign in ipairs(lvim.lsp.diagnostics.signs.values) do - vim.fn.sign_define(sign.name, { texthl = sign.name, text = sign.text, numhl = sign.name }) - end - - require("lsp.handlers").setup() -end - local function lsp_highlight_document(client) if lvim.lsp.document_highlight == false then return -- we don't need further @@ -159,4 +149,29 @@ function M.setup(lang) end end +function M.global_setup() + vim.lsp.protocol.CompletionItemKind = lvim.lsp.completion.item_kind + + for _, sign in ipairs(lvim.lsp.diagnostics.signs.values) do + vim.fn.sign_define(sign.name, { texthl = sign.name, text = sign.text, numhl = sign.name }) + end + + require("lsp.handlers").setup() + + local null_status_ok, null_ls = pcall(require, "null-ls") + if null_status_ok then + null_ls.config() + require("lspconfig")["null-ls"].setup(lvim.lsp.null_ls.setup) + end + + local utils = require "utils" + + local lsp_settings_status_ok, lsp_settings = pcall(require, "nlspsettings") + if lsp_settings_status_ok then + lsp_settings.setup { + config_home = utils.join_paths(get_config_dir(), "lsp-settings"), + } + end +end + return M |