-- lspconfig -- https://github.com/neovim/nvim-lspconfig local opts = { noremap = true, silent = true } vim.api.nvim_set_keymap('n', 'gD', [['lua vim.lsp.buf.declaration()']], opts) vim.api.nvim_set_keymap('n', 'gd', [['lua vim.lsp.buf.definition()']], opts) vim.api.nvim_set_keymap('n', 'K', [['lua vim.lsp.buf.hover()']], opts) vim.api.nvim_set_keymap('n', 'gi', [['lua vim.lsp.buf.implementation()']], opts) vim.api.nvim_set_keymap('n', '', [['lua vim.lsp.buf.signature_help()']], opts) vim.api.nvim_set_keymap('n', 'wa', [['lua vim.lsp.buf.add_workspace_folder()']], opts) vim.api.nvim_set_keymap('n', 'wr', [['lua vim.lsp.buf.remove_workspace_folder()']], opts) vim.api.nvim_set_keymap('n', 'wl', [['lua print(vim.inspect(vim.lsp.buf.list_workspace_folders()))']], opts) vim.api.nvim_set_keymap('n', 'D', [['lua vim.lsp.buf.type_definition()']], opts) vim.api.nvim_set_keymap('n', 'rn', [['lua vim.lsp.buf.rename()']], opts) vim.api.nvim_set_keymap('n', 'gr', [['lua vim.lsp.buf.references()']], opts) vim.api.nvim_set_keymap('n', 'e', [['lua vim.lsp.diagnostic.show_line_diagnostics()']], opts) vim.api.nvim_set_keymap('n', 'Ä', [['lua vim.lsp.diagnostic.goto_prev()']], opts) vim.api.nvim_set_keymap('n', 'ä', [['lua vim.lsp.diagnostic.goto_next()']], opts) vim.api.nvim_set_keymap('n', 'q', [['lua vim.lsp.diagnostic.set_loclist()']], opts) vim.api.nvim_set_keymap('n', 'g0', [[lua vim.lsp.buf.document_symbol()]], opts) vim.api.nvim_set_keymap('n', 'gW', [[lua vim.lsp.buf.workspace_symbol()]], opts) vim.api.nvim_set_keymap('n', 'ga', [[lua vim.lsp.buf.code_action()]], opts)