local status, mason = pcall(require, "mason") if (not status) then return end local status2, lspconfig = pcall(require, "mason-lspconfig") if (not status2) then return end mason.setup({ }) lspconfig.setup { ensure_installed = { "sumneko_lua" }, } 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)