reworked lspconfig
This commit is contained in:
parent
62e90c9279
commit
9aea25954f
@ -1,4 +1,43 @@
|
|||||||
on_attach = function(client, bufnr)
|
local lspKeys = function(bufnr)
|
||||||
|
local tele_builtins = require('telescope.builtin')
|
||||||
|
local options = { noremap = true, silent = false, buffer = bufnr }
|
||||||
|
vim.keymap.set('n', '<space>,', vim.diagnostic.goto_prev,
|
||||||
|
vim.tbl_extend('error', options, { desc = 'Diag prev' }))
|
||||||
|
vim.keymap.set('n', '<space>;', vim.diagnostic.goto_next,
|
||||||
|
vim.tbl_extend('error', options, { desc = 'Diag next' }))
|
||||||
|
vim.keymap.set({ 'n', 'x' }, '<space>a', vim.lsp.buf.code_action,
|
||||||
|
vim.tbl_extend('error', options, { desc = 'Code action' }))
|
||||||
|
vim.keymap.set('n', '<space>d', tele_builtins.lsp_definitions,
|
||||||
|
vim.tbl_extend('error', options, { desc = 'Definition' }))
|
||||||
|
vim.keymap.set('n', '<space>e',
|
||||||
|
vim.lsp.buf.declaration, vim.tbl_extend('error', options, { desc = 'Declaration' }))
|
||||||
|
vim.keymap.set('n', '<space>h', function() require('pretty_hover').hover() end,
|
||||||
|
vim.tbl_extend('error', options, { desc = 'Hover' }))
|
||||||
|
vim.keymap.set('n', '<space>c', vim.lsp.buf.outgoing_calls,
|
||||||
|
vim.tbl_extend('error', options, { desc = 'Outgoing calls' }))
|
||||||
|
vim.keymap.set('n', '<space>C', vim.lsp.buf.incoming_calls,
|
||||||
|
vim.tbl_extend('error', options, { desc = 'Incoming calls' }))
|
||||||
|
vim.keymap.set('n', '<space>m', vim.lsp.buf.rename,
|
||||||
|
vim.tbl_extend('error', options, { desc = 'Rename' }))
|
||||||
|
vim.keymap.set('n', '<C-t>', tele_builtins.lsp_dynamic_workspace_symbols,
|
||||||
|
vim.tbl_extend('error', options, { desc = 'Workspace symbols' }))
|
||||||
|
vim.keymap.set('n', '<space>D', vim.lsp.buf.type_definition,
|
||||||
|
vim.tbl_extend('error', options, { desc = 'Type definition' }))
|
||||||
|
vim.keymap.set({ 'n', 'i', 'x' }, '<C-k>', vim.lsp.buf.signature_help,
|
||||||
|
vim.tbl_extend('error', options, { desc = 'Signature help' }))
|
||||||
|
vim.keymap.set('n', '<space>r', tele_builtins.lsp_references,
|
||||||
|
vim.tbl_extend('error', options, { desc = 'References' }))
|
||||||
|
vim.keymap.set('n', '<A-m>', tele_builtins.lsp_document_symbols,
|
||||||
|
vim.tbl_extend('error', options, { desc = 'References' }))
|
||||||
|
vim.keymap.set('n', '<scapce>s', tele_builtins.lsp_dynamic_workspace_symbols,
|
||||||
|
vim.tbl_extend('error', options, { desc = 'Workspace symbols' }))
|
||||||
|
vim.keymap.set('n', '<space>v', function() tele_builtins.diagnostics({ bufnr = 0 }) end,
|
||||||
|
vim.tbl_extend('error', options, { desc = 'Diagnostics' }))
|
||||||
|
vim.keymap.set('n', '<A-o>', '<cmd>ClangdSwitchSourceHeader<CR>',
|
||||||
|
vim.tbl_extend('error', options, { desc = 'Switch Source/Header' }))
|
||||||
|
end
|
||||||
|
|
||||||
|
local on_attach = function(client, bufnr)
|
||||||
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
|
||||||
@ -6,42 +45,7 @@ on_attach = function(client, bufnr)
|
|||||||
buf_set_option('omnifunc', 'v:lua.vim.lsp.omnifunc')
|
buf_set_option('omnifunc', 'v:lua.vim.lsp.omnifunc')
|
||||||
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.
|
lspKeys(bufnr)
|
||||||
local tele_builtins = require('telescope.builtin')
|
|
||||||
vim.keymap.set('n', '<space>,', vim.diagnostic.goto_prev,
|
|
||||||
{ noremap = true, silent = false, desc = 'Diag prev', buffer = bufnr })
|
|
||||||
vim.keymap.set('n', '<space>;', vim.diagnostic.goto_next,
|
|
||||||
{ noremap = true, silent = false, desc = 'Diag next', buffer = bufnr })
|
|
||||||
vim.keymap.set({ 'n', 'x' }, '<space>a', vim.lsp.buf.code_action,
|
|
||||||
{ noremap = true, silent = false, desc = 'Code action', buffer = bufnr })
|
|
||||||
vim.keymap.set('n', '<space>d', tele_builtins.lsp_definitions,
|
|
||||||
{ noremap = true, silent = false, desc = 'Definition', buffer = bufnr })
|
|
||||||
vim.keymap.set('n', '<space>e', vim.lsp.buf.declaration,
|
|
||||||
{ noremap = true, silent = false, desc = 'Declaration', buffer = bufnr })
|
|
||||||
vim.keymap.set('n', '<space>h', function() require('pretty_hover').hover() end,
|
|
||||||
{ noremap = true, silent = false, desc = 'Hover', buffer = bufnr })
|
|
||||||
vim.keymap.set('n', '<space>c', vim.lsp.buf.outgoing_calls,
|
|
||||||
{ noremap = true, silent = false, desc = 'Outgoing calls', buffer = bufnr })
|
|
||||||
vim.keymap.set('n', '<space>C', vim.lsp.buf.incoming_calls,
|
|
||||||
{ noremap = true, silent = false, desc = 'Incoming calls', buffer = bufnr })
|
|
||||||
vim.keymap.set('n', '<space>m', vim.lsp.buf.rename,
|
|
||||||
{ noremap = true, silent = false, desc = 'Rename', buffer = bufnr })
|
|
||||||
vim.keymap.set('n', '<C-t>', tele_builtins.lsp_dynamic_workspace_symbols,
|
|
||||||
{ noremap = true, silent = false, desc = 'Workspace symbols', buffer = bufnr })
|
|
||||||
vim.keymap.set('n', '<space>D', vim.lsp.buf.type_definition,
|
|
||||||
{ noremap = true, silent = false, desc = 'Type definition', buffer = bufnr })
|
|
||||||
vim.keymap.set({ 'n', 'i', 'x' }, '<C-k>', vim.lsp.buf.signature_help,
|
|
||||||
{ noremap = true, silent = false, desc = 'Signature help', buffer = bufnr })
|
|
||||||
vim.keymap.set('n', '<space>r', tele_builtins.lsp_references,
|
|
||||||
{ noremap = true, silent = false, desc = 'References', buffer = bufnr })
|
|
||||||
vim.keymap.set('n', '<A-m>', tele_builtins.lsp_document_symbols,
|
|
||||||
{ noremap = true, silent = false, desc = 'References', buffer = bufnr })
|
|
||||||
vim.keymap.set('n', '<scapce>s', tele_builtins.lsp_dynamic_workspace_symbols,
|
|
||||||
{ noremap = true, silent = false, desc = 'Workspace symbols', buffer = bufnr })
|
|
||||||
vim.keymap.set('n', '<space>v', function() tele_builtins.diagnostics({ bufnr = 0 }) end,
|
|
||||||
{ noremap = true, silent = false, desc = 'Diagnostics', buffer = bufnr })
|
|
||||||
vim.keymap.set('n', '<A-o>', '<cmd>ClangdSwitchSourceHeader<CR>',
|
|
||||||
{ noremap = true, silent = false, desc = 'Switch Source/Header', buffer = bufnr })
|
|
||||||
|
|
||||||
vim.cmd([[autocmd CursorHold <buffer> lua OpenDiagFloat()]])
|
vim.cmd([[autocmd CursorHold <buffer> lua OpenDiagFloat()]])
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user