diff --git a/.config/nvim/lua/plugin/lsp/clangd.lua b/.config/nvim/lua/plugin/lsp/clangd.lua index 5996b05..ad11624 100644 --- a/.config/nvim/lua/plugin/lsp/clangd.lua +++ b/.config/nvim/lua/plugin/lsp/clangd.lua @@ -6,8 +6,7 @@ local M = {} -local lsp_root_path = vim.fn.stdpath("data") .. "/lsp_servers/" -local clangd_binary = lsp_root_path .. "clangd/clangd/bin/clangd" +local clangd_binary = _G.lsp_root_dir .. "clangd/clangd/bin/clangd" M.setup = function(opts) opts.settings = { diff --git a/.config/nvim/lua/plugin/lsp/init.lua b/.config/nvim/lua/plugin/lsp/init.lua index 274c9b6..8af6b8d 100644 --- a/.config/nvim/lua/plugin/lsp/init.lua +++ b/.config/nvim/lua/plugin/lsp/init.lua @@ -58,7 +58,12 @@ end local capabilities = vim.lsp.protocol.make_client_capabilities() capabilities = require("cmp_nvim_lsp").default_capabilities(capabilities) -local servers = { "clangd", "sumneko_lua", "texlab" } +local servers = { + "clangd", + "rust_analyzer", + "sumneko_lua", + "texlab", +} mason.setup({ ui = { @@ -70,6 +75,8 @@ mason.setup({ } }) +_G.lsp_root_dir = vim.fn.stdpath("data") .. "/mason/bin" + mason_lspconfig.setup({ ensure_installed = servers, }) @@ -81,7 +88,7 @@ for _, server in ipairs(servers) do capabilities = capabilities, } - local plugin = string.format("%s.%s", "plugin.lsp", server) + local plugin = string.format("plugin.lsp.%s", server) require(plugin).setup(opts) lspconfig[server].setup(opts) diff --git a/.config/nvim/lua/plugin/lsp/rust_analyzer.lua b/.config/nvim/lua/plugin/lsp/rust_analyzer.lua new file mode 100644 index 0000000..604a4e5 --- /dev/null +++ b/.config/nvim/lua/plugin/lsp/rust_analyzer.lua @@ -0,0 +1,16 @@ +-- Author : swytch +-- Created : Wednesday Nov. 30, 2022 16:35:43 CET +-- License : GPLv3 +-- Description : neovim lsp config file for rust_analyzer + + +local M = {} + +local rust_analayzer_binary = _G.lsp_root_dir .. "rust_analyzer/rust_analyzer" + +M.setup = function(opts) + opts.settings = {} +end + +return M +