diff options
| author | Aleksa Vuckovic <aleksa@vuckovic.cc> | 2023-02-25 01:17:08 +0100 |
|---|---|---|
| committer | Aleksa Vuckovic <aleksa@vuckovic.cc> | 2023-02-25 01:17:08 +0100 |
| commit | 336b2de4b36ad9eafdef6c5e882bc08a66d7c959 (patch) | |
| tree | 838df5f79e13b8b598f81113cf83d9c98f9a405f /lua/user/lsp | |
| parent | bbe5d2d967a1a77328c71e11823bb57d56ee044c (diff) | |
pcall now prints error, fixed cmp luasnip
Diffstat (limited to 'lua/user/lsp')
| -rw-r--r-- | lua/user/lsp/ccls.lua | 5 | ||||
| -rw-r--r-- | lua/user/lsp/handlers.lua | 5 | ||||
| -rw-r--r-- | lua/user/lsp/init.lua | 6 | ||||
| -rw-r--r-- | lua/user/lsp/mason.lua | 84 |
4 files changed, 67 insertions, 33 deletions
diff --git a/lua/user/lsp/ccls.lua b/lua/user/lsp/ccls.lua index b3393da..ef3c179 100644 --- a/lua/user/lsp/ccls.lua +++ b/lua/user/lsp/ccls.lua @@ -1,5 +1,6 @@ -local status, lspconfig = pcall(require, "lspconfig") -if not status then +local lspconfig_status, lspconfig = pcall(require, "lspconfig") +if not lspconfig_status then + print("lsp/ccls.lua: loading lspconfig failed") return end diff --git a/lua/user/lsp/handlers.lua b/lua/user/lsp/handlers.lua index ee802b9..eabeae6 100644 --- a/lua/user/lsp/handlers.lua +++ b/lua/user/lsp/handlers.lua @@ -95,8 +95,9 @@ end local capabilities = vim.lsp.protocol.make_client_capabilities() -local status_ok, cmp_nvim_lsp = pcall(require, "cmp_nvim_lsp") -if not status_ok then +local cmp_nvim_lsp_status, cmp_nvim_lsp = pcall(require, "cmp_nvim_lsp") +if not cmp_nvim_lsp_status then + print("lsp/handlers.lua: loading cmp_nvim_lsp failed") return end diff --git a/lua/user/lsp/init.lua b/lua/user/lsp/init.lua index 4ac9a3e..2714c99 100644 --- a/lua/user/lsp/init.lua +++ b/lua/user/lsp/init.lua @@ -1,8 +1,2 @@ require "user.lsp.mason" - -local status, lspconfig = pcall(require, "lspconfig") -if not status then - return -end - require "user.lsp.ccls" diff --git a/lua/user/lsp/mason.lua b/lua/user/lsp/mason.lua index 2c14313..8425934 100644 --- a/lua/user/lsp/mason.lua +++ b/lua/user/lsp/mason.lua @@ -1,43 +1,81 @@ -local status, mason = pcall(require, "mason") -if not status then +local mason_status, mason = pcall(require, "mason") +if not mason_status then + print("lsp/mason.lua: loading mason failed") return end --- mason -mason.setup({ +local mason_lspconfig_status, mason_lspconfig = pcall(require, "mason-lspconfig") +if not mason_lspconfig_status then + print("lsp/mason.lua: loading mason-lspconfig failed") + return +end + +local lspconfig_status, lspconfig = pcall(require, "lspconfig") +if not lspconfig_status then + print("lsp/mason.lua: loading lspconfig failed") + return +end + +local mason_null_ls_status, mason_null_ls = pcall(require, "mason-null-ls") +if not mason_null_ls_status then + print("lsp/mason.lua: loading mason-null-ls failed") + return +end + +local null_ls_status, null_ls = pcall(require, "null-ls") +if not null_ls_status then + print("lsp/mason.lua: loading null-ls failed") + return +end + + +local settings = { ui = { + border = "none", icons = { - package_installed = "✓", - package_pending = "➜", - package_uninstalled = "✗" - } - } -}) + package_installed = "◍", + package_pending = "◍", + package_uninstalled = "◍", + }, + }, + log_level = vim.log.levels.INFO, + max_concurrent_installers = 4, +} --- mason-lspconfig -require("mason-lspconfig").setup { - ensure_installed = { "pylsp", "bashls", "lua_ls", "cmake" }, +local servers = { + "pylsp", "bashls", "lua_ls", "cmake" } -require("mason-lspconfig").setup_handlers { + + +-- mason +mason.setup(settings) + +-- mason-lspconfig +mason_lspconfig.setup({ + ensure_installed = servers, + automatic_installation = true, +}) + +table.insert(servers, "ccls") +mason_lspconfig.setup_handlers { function(server_name) - require("lspconfig")[server_name].setup {} - end + lspconfig[server_name].setup { + on_attach = require("user.lsp.handlers").on_attach, + capabilities = require("user.lsp.handlers").capabilities, + } + end, } -- mason-null-ls -require('mason-null-ls').setup({ +mason_null_ls.setup({ automatic_setup = true, - ensure_installed = {} + ensure_installed = {}, }) -require('mason-null-ls').setup_handlers { +mason_null_ls.setup_handlers { function(source_name, methods) require("mason-null-ls.automatic_setup")(source_name, methods) end, } -- null_ls -local status, null_ls = pcall(require, "null-ls") -if not status then - return -end null_ls.setup() |
