-- Setup mason so it can manage external tooling require('mason').setup() -- Ensure the servers above are installed require("mason-lspconfig").setup({ ensure_installed = { "pylsp", "pyright", "clangd", "sumneko_lua", "vim-language-server", } }) local keymap = vim.api.nvim_set_keymap local opts = { noremap = true } keymap('n', 'gd', ':lua vim.lsp.buf.definition()', opts) keymap('n', 'gD', ':lua vim.lsp.buf.declaration()', opts) keymap('n', 'gi', ':lua vim.lsp.buf.implementation()', opts) keymap('n', 'gw', ':lua vim.lsp.buf.document_symbol()', opts) keymap('n', 'gw', ':lua vim.lsp.buf.workspace_symbol()', opts) keymap('n', 'gr', ':lua vim.lsp.buf.references()', opts) keymap('n', 'gt', ':lua vim.lsp.buf.type_definition()', opts) keymap('n', 'K', ':lua vim.lsp.buf.hover()', opts) keymap('n', '', ':lua vim.lsp.buf.signature_help()', opts) keymap('n', 'af', ':lua vim.lsp.buf.code_action()', opts) keymap('n', 'rn', ':lua vim.lsp.buf.rename()', opts) --local mason = require("mason") -- --local options = { -- ensure_installed = { "lua-language-server" }, -- not an option from mason.nvim -- -- ui = { -- icons = { -- package_pending = " ", -- package_installed = " ", -- package_uninstalled = " ﮊ", -- }, -- -- keymaps = { -- toggle_server_expand = "", -- install_server = "i", -- update_server = "u", -- check_server_version = "c", -- update_all_servers = "U", -- check_outdated_servers = "C", -- uninstall_server = "X", -- cancel_installation = "", -- }, -- }, -- -- max_concurrent_installers = 10, --} -- -- -- --mason.setup(options)