From ae7523c0c3cf8a04d35a7a448554e7b8d3a074f8 Mon Sep 17 00:00:00 2001 From: Xander Swan Date: Wed, 3 Dec 2025 10:00:41 -0500 Subject: Goodest nvim conf --- .config/nvim/lua/plugin/lsp.lua | 48 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 .config/nvim/lua/plugin/lsp.lua (limited to '.config/nvim/lua/plugin/lsp.lua') diff --git a/.config/nvim/lua/plugin/lsp.lua b/.config/nvim/lua/plugin/lsp.lua new file mode 100644 index 0000000..1cce12f --- /dev/null +++ b/.config/nvim/lua/plugin/lsp.lua @@ -0,0 +1,48 @@ +local lsp = require("lsp-zero") +local lspconfig = require("lspconfig") + +lsp.preset("recommended") + +lsp.ensure_installed { + "lua_ls", + "clangd", + "cmake", + "rust_analyzer", +} + +lspconfig.gdscript.setup {} + +local cmp = require("cmp") +local cmp_select = { behavior = cmp.SelectBehavior.Select } +local cmp_mappings = lsp.defaults.cmp_mappings { + [""] = cmp.mapping.select_next_item(cmp_select), + [""] = cmp.mapping.select_prev_item(cmp_select), + [""] = cmp.mapping.confirm({ select = true }), + [""] = cmp.mapping.confirm({ select = true }), +} + +lsp.setup_nvim_cmp { + mapping = cmp_mappings +} + +lsp.set_preferences { + suggest_lsp_servers = false, + sign_icons = { + error = "E", + warn = "W", + hint = "H", + info = "I", + } +} + +lsp.on_attach(function(_, buffer) + local opts = { buffer=buffer, remap=false } + + vim.keymap.set("n", "ld", function() vim.lsp.buf.definition() end, opts) +end) + +lsp.setup() + +vim.diagnostic.config { + virtual_text = true +} -- cgit v1.3-2-g0d8e