summaryrefslogtreecommitdiff
path: root/lua/lsp/init.lua
diff options
context:
space:
mode:
authorkylo252 <[email protected]>2021-09-13 11:28:15 +0200
committerGitHub <[email protected]>2021-09-13 11:28:15 +0200
commit8eed75d67f9cbcefb91c4cb5aac0ffd013be25cc (patch)
treecba9d98b4b3c6559dc2bd17f1fb557cb88f5387f /lua/lsp/init.lua
parent38b0c3d860d10515002fdb27db7e1187ce110b1d (diff)
refactor: use more flexible paths (#1381)
Diffstat (limited to 'lua/lsp/init.lua')
-rw-r--r--lua/lsp/init.lua35
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