aboutsummaryrefslogtreecommitdiff
path: root/.config/nvim/lua/plugin/lsp.lua
diff options
context:
space:
mode:
authorXander Swan <email>2025-12-03 10:00:41 -0500
committerXander Swan <email>2025-12-03 10:00:41 -0500
commit5299e274505f592c8817ebf2c8e0b29f62819a45 (patch)
tree4670f9ec5a6dd2c6814a93531c119fc3add4123e /.config/nvim/lua/plugin/lsp.lua
parent9fdb3c70f6cec1ee9ad32ac4257e8deb1fef2525 (diff)
Mostly nvim stuff
Diffstat (limited to '.config/nvim/lua/plugin/lsp.lua')
-rw-r--r--.config/nvim/lua/plugin/lsp.lua19
1 files changed, 12 insertions, 7 deletions
diff --git a/.config/nvim/lua/plugin/lsp.lua b/.config/nvim/lua/plugin/lsp.lua
index fc4b869..b590d30 100644
--- a/.config/nvim/lua/plugin/lsp.lua
+++ b/.config/nvim/lua/plugin/lsp.lua
@@ -1,17 +1,19 @@
local lsp = require("lsp-zero")
local lspconfig = require("lspconfig")
-lsp.preset("recommended")
+vim.opt.signcolumn = 'yes'
-lspconfig.lua_ls.setup {}
-lspconfig.clangd.setup {}
-lspconfig.gdscript.setup {}
+local lspconfig_defaults = require('lspconfig').util.default_config
+lspconfig_defaults.capabilities = vim.tbl_deep_extend(
+ 'force',
+ lspconfig_defaults.capabilities,
+ require('cmp_nvim_lsp').default_capabilities()
+)
require('mason').setup {}
require('mason-lspconfig').setup {
ensure_installed = {
"lua_ls",
- "rust_analyzer",
"clangd",
},
handlers = {
@@ -33,10 +35,13 @@ cmp.setup {
lsp.on_attach(function(client, buffer)
local opts = { buffer = buffer, remap = false }
- vim.keymap.set("n", "<leader>ld", function() vim.lsp.buf.definition() end, opts)
+ vim.keymap.set("n", "gd", function() vim.lsp.buf.definition() end, opts)
+ vim.keymap.set("n", "gD", function() vim.lsp.buf.declaration() end, opts)
+ vim.keymap.set("n", "gi", function() vim.lsp.buf.implementation() end, opts)
+ vim.keymap.set("n", "go", function() vim.lsp.buf.type_definition() end, opts)
+ vim.keymap.set("n", "gr", function() vim.lsp.buf.references() end, opts)
vim.keymap.set("n", "<leader>h", function() vim.lsp.buf.hover() end, opts)
vim.keymap.set("n", "<leader>la", function() vim.lsp.buf.code_action() end, opts)
- vim.keymap.set("n", "<leader>lrf", function() vim.lsp.buf.references() end, opts)
vim.keymap.set("n", "<leader>lrn", function() vim.lsp.buf.rename() end, opts)
vim.keymap.set("n", "<leader>ls", function() vim.lsp.buf.signature_help() end, opts)
end)