diff options
| author | Xander Swan <email> | 2025-12-03 10:00:41 -0500 |
|---|---|---|
| committer | Xander Swan <email> | 2025-12-03 10:00:41 -0500 |
| commit | 5299e274505f592c8817ebf2c8e0b29f62819a45 (patch) | |
| tree | 4670f9ec5a6dd2c6814a93531c119fc3add4123e /.config/nvim/lua/plugin/lsp.lua | |
| parent | 9fdb3c70f6cec1ee9ad32ac4257e8deb1fef2525 (diff) | |
Mostly nvim stuff
Diffstat (limited to '.config/nvim/lua/plugin/lsp.lua')
| -rw-r--r-- | .config/nvim/lua/plugin/lsp.lua | 19 |
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) |
