From 624620c918c4d9590f177290e27f469b4778d63f Mon Sep 17 00:00:00 2001 From: Zach Berwaldt Date: Mon, 25 Sep 2023 18:59:27 -0400 Subject: add lsp config --- after/plugin/lsp.lua | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 after/plugin/lsp.lua (limited to 'after') diff --git a/after/plugin/lsp.lua b/after/plugin/lsp.lua new file mode 100644 index 0000000..3e61be0 --- /dev/null +++ b/after/plugin/lsp.lua @@ -0,0 +1,34 @@ +local lsp = require("lsp-zero") + +lsp.preset("recommended") + +lsp.on_attach(function(client, bufnr) + local opts = { buffer = bufnr, remap = false } + + vim.keymap.set("n", "gd", function () vim.lsp.buf.definition() end, opts) + + lsp.default_keymaps({buffer = bufnr}) +end) + +require('mason').setup({}) +require('mason-lspconfig').setup({ + -- Replace the language servers listed here + -- with the ones you want to install + ensure_installed = {'tsserver', 'eslint', 'sumneko_lua', 'rust_analyzer'}, + handlers = { + lsp.default_setup, + }, +}) + +local cmp = require('cmp') +local cmp_select = {behavior = cmp.SelectBehavior.Select} +local cmp_mappings = lsp.defaults.cmp_mappings({ + [''] = cmp.mapping.select_prev_item(cmp_select), + [''] = cmp.mapping.select_next_item(cmp_select), + [''] = cmp.mapping.confirm({ select = true }), + [""] = cmp.mapping.complete(), +}) + +lsp.set_preferences({ + sign_icons = { } +}) -- cgit v1.1