use vim.keymap.set

This commit is contained in:
Oliver Hartmann 2022-07-01 13:47:16 +02:00
parent 0a31d71c0c
commit 9e2890aed9

View File

@ -26,9 +26,6 @@ OpenDiagFloat = function ()
end end
local on_attach = function(client, bufnr) local on_attach = function(client, bufnr)
local function buf_set_keymap(...)
vim.api.nvim_buf_set_keymap(bufnr, ...)
end
local function buf_set_option(...) local function buf_set_option(...)
vim.api.nvim_buf_set_option(bufnr, ...) vim.api.nvim_buf_set_option(bufnr, ...)
end end
@ -37,33 +34,34 @@ local on_attach = function(client, bufnr)
vim.api.nvim_buf_set_option(0, 'formatexpr', 'v:lua.vim.lsp.formatexpr()') vim.api.nvim_buf_set_option(0, 'formatexpr', 'v:lua.vim.lsp.formatexpr()')
-- Mappings. -- Mappings.
local opts = { noremap = true, silent = true } local opts ={ noremap = true, silent = true, buffer = true }
buf_set_keymap('n', '<space>,', '<cmd>lua vim.lsp.diagnostic.goto_prev()<CR>', opts) vim.keymap.set('n', '<space>,', vim.lsp.diagnostic.goto_prev, opts )
buf_set_keymap('n', '<space>;', '<cmd>lua vim.lsp.diagnostic.goto_next()<CR>', opts) vim.keymap.set('n', '<space>;', vim.lsp.diagnostic.goto_next, opts)
buf_set_keymap('n', '<space>a', '<cmd>lua vim.lsp.buf.code_action()<CR>', opts) vim.keymap.set('n', '<space>a', vim.lsp.buf.code_action, opts)
buf_set_keymap('n', '<space>d', '<cmd>lua vim.lsp.buf.definition()<CR>', opts) vim.keymap.set('n', '<space>d', vim.lsp.buf.definition, opts)
buf_set_keymap('n', '<space>e', '<cmd>lua vim.lsp.buf.declaration()<CR>', opts) vim.keymap.set('n', '<space>e', vim.lsp.buf.declaration, opts)
buf_set_keymap('n', '<space>h', '<cmd>lua vim.lsp.buf.hover()<CR>', opts) vim.keymap.set('n', '<space>h', vim.lsp.buf.hover, opts)
buf_set_keymap('n', '<space>c', '<cmd>lua vim.lsp.buf.outgoing_calls()<CR>', opts) vim.keymap.set('n', '<space>c', vim.lsp.buf.outgoing_calls, opts)
buf_set_keymap('n', '<space>C', '<cmd>lua vim.lsp.buf.incoming_calls()<CR>', opts) vim.keymap.set('n', '<space>C', vim.lsp.buf.incoming_calls, opts)
buf_set_keymap('n', '<space>m', '<cmd>lua vim.lsp.buf.rename()<CR>', opts) vim.keymap.set('n', '<space>m', vim.lsp.buf.rename, opts)
-- buf_set_keymap('n', '<space>r', '<cmd>lua vim.lsp.buf.references()<CR, opts>') local tele_builtins = require('telescope.builtin')
buf_set_keymap('n', '<C-t>', '<cmd>Telescope lsp_dynamic_workspace_symbols<CR>', opts) vim.keymap.set('n', '<C-t>', tele_builtins.lsp_dynamic_workspace_symbols, opts)
buf_set_keymap('n', '<space>D', '<cmd>lua vim.lsp.buf.type_definition()<CR>', opts) vim.keymap.set('n', '<space>D', vim.lsp.buf.type_definition, opts)
buf_set_keymap('n', '<C-k>', '<cmd>lua vim.lsp.buf.signature_help()<CR>', opts) vim.keymap.set('n', '<C-k>', vim.lsp.buf.signature_help, opts)
buf_set_keymap('n', '<space>r', '<cmd>Telescope lsp_references<cr>', opts) vim.keymap.set('n', '<space>r', tele_builtins.lsp_references, opts)
buf_set_keymap('n', '<A-m>', '<cmd>Telescope aerial<cr>', opts) local aerial = require('aerial')
buf_set_keymap('n', '<space>v', '<cmd>Telescope diagnostics bufnr=0<cr>', opts) vim.keymap.set('n', '<A-m>', aerial.toggle, opts)
buf_set_keymap('n', '<A-o>', ':ClangdSwitchSourceHeader<CR>', opts) vim.keymap.set('n', '<space>v', function () tele_builtins.diagnostics({bufnr = 0}) end, opts)
vim.keymap.set('n', '<A-o>', '<cmd>ClangdSwitchSourceHeader<CR>', opts)
vim.cmd([[autocmd CursorHold <buffer> lua OpenDiagFloat()]]) vim.cmd([[autocmd CursorHold <buffer> lua OpenDiagFloat()]])
-- Set some keybinds conditional on server capabilities -- Set some keybinds conditional on server capabilities
if client.server_capabilities.documentFormattingProvider then if client.server_capabilities.documentFormattingProvider then
buf_set_keymap('n', '<space>f', '<cmd>lua vim.lsp.buf.format{async=true}<CR>', opts) vim.keymap.set('n', '<space>f', vim.lsp.buf.format, opts)
end end
if client.server_capabilities.documentRangeFormattingProvider then if client.server_capabilities.documentRangeFormattingProvider then
buf_set_keymap('v', '<space>f', '<esc><cmd>lua vim.lsp.buf.range_formatting()<CR>', opts) vim.keymap.set('v', '<space>f', vim.lsp.buf.range_formatting, opts)
end end
-- Set autocommands conditional on server_capabilities -- Set autocommands conditional on server_capabilities