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', '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 = { } })