nixos-config/home/nvim/lua/config/lsp.lua

75 lines
1.9 KiB
Lua
Raw Normal View History

2024-10-22 11:53:19 -04:00
local lsp = vim.lsp
local diagnostic = vim.diagnostic
local keymap = vim.keymap
keymap.set("n", "gd", lsp.buf.definition)
keymap.set("n", "<space>rn", lsp.buf.rename)
keymap.set("n", "gr", lsp.buf.references)
keymap.set("n", "[d", diagnostic.goto_prev)
keymap.set("n", "]d", diagnostic.goto_next)
2024-12-28 11:45:03 -05:00
diagnostic.config({
signs = false,
})
2024-10-22 11:53:19 -04:00
local lspconfig = require("lspconfig")
local capabilities = require("cmp_nvim_lsp").default_capabilities()
2024-12-28 11:45:03 -05:00
lspconfig.pylsp.setup({ capabilities = capabilities })
lspconfig.clangd.setup({ capabilities = capabilities })
lspconfig.bashls.setup({ capabilities = capabilities })
lspconfig.rust_analyzer.setup({
capabilities = capabilities,
})
2024-10-22 11:53:19 -04:00
2024-12-28 11:45:03 -05:00
lspconfig.gopls.setup({
settings = {
gopls = {
analyses = {
unusedparams = true,
},
staticcheck = true,
gofumpt = true,
},
},
capabilities = capabilities,
})
2024-10-22 11:53:19 -04:00
2024-12-28 11:45:03 -05:00
lspconfig.lua_ls.setup({
capabilities = capabilities,
on_init = function(client)
if client.workspace_folders then
local path = client.workspace_folders[1].name
if vim.uv.fs_stat(path .. "/.luarc.json") or vim.uv.fs_stat(path .. "/.luarc.jsonc") then
return
end
end
2024-10-22 11:53:19 -04:00
2024-12-28 11:45:03 -05:00
client.config.settings.Lua = vim.tbl_deep_extend("force", client.config.settings.Lua, {
runtime = {
-- Tell the language server which version of Lua you're using
-- (most likely LuaJIT in the case of Neovim)
version = "LuaJIT",
},
-- Make the server aware of Neovim runtime files
workspace = {
checkThirdParty = false,
library = {
vim.env.VIMRUNTIME,
-- Depending on the usage, you might want to add additional paths here.
-- "${3rd}/luv/library"
-- "${3rd}/busted/library",
},
-- or pull in all of 'runtimepath'. NOTE: this is a lot slower
-- library = vim.api.nvim_get_runtime_file("", true)
},
})
end,
settings = {
Lua = {},
},
})
2024-11-20 13:17:22 -05:00
2024-12-28 11:45:03 -05:00
lspconfig.nixd.setup({ capabilities = capabilities })
2025-01-02 15:29:07 -05:00
lspconfig.terraformls.setup({ capabilities = capabilities })