46 lines
1.2 KiB
Lua
46 lines
1.2 KiB
Lua
return {
|
|
{
|
|
"williamboman/mason.nvim",
|
|
config = function()
|
|
require("mason").setup()
|
|
end
|
|
},
|
|
{
|
|
"williamboman/mason-lspconfig.nvim",
|
|
dependencies = { "neovim/nvim-lspconfig" },
|
|
config = function()
|
|
require("mason-lspconfig").setup {
|
|
ensure_installed = { "gopls", "pyright", "clangd", "lua_ls" }
|
|
}
|
|
end
|
|
},
|
|
{
|
|
"neovim/nvim-lspconfig",
|
|
config = function()
|
|
local lspconfig = require("lspconfig")
|
|
local capabilities = require('cmp_nvim_lsp').default_capabilities()
|
|
|
|
lspconfig.gopls.setup {}
|
|
lspconfig.pyright.setup {}
|
|
lspconfig.clangd.setup {}
|
|
lspconfig.lua_ls.setup {}
|
|
vim.g.rustaceanvim = {
|
|
server = {
|
|
cmd = function()
|
|
local mason_registry = require('mason-registry')
|
|
if mason_registry.is_installed('rust-analyzer') then
|
|
local ra = mason_registry.get_package('rust-analyzer')
|
|
local ra_filename = ra:get_receipt():get().links.bin['rust-analyzer']
|
|
return { ('%s/%s'):format(ra:get_install_path(), ra_filename or 'rust-analyzer') }
|
|
else
|
|
return { 'rust-analyzer' }
|
|
end
|
|
end,
|
|
},
|
|
}
|
|
end
|
|
}
|
|
}
|
|
|
|
|