1
0
Fork 0

nvim: lsp

This commit is contained in:
Vladimír Dudr 2023-01-10 20:50:54 +01:00
parent 34214c5f7e
commit e6b3ac25dd
4 changed files with 58 additions and 14 deletions

View file

@ -234,6 +234,7 @@ function M.config()
vim.api.nvim_set_hl(0, 'CmpItemAbbrMatch', { link = 'GruvboxAquaBold' }) vim.api.nvim_set_hl(0, 'CmpItemAbbrMatch', { link = 'GruvboxAquaBold' })
vim.api.nvim_set_hl(0, 'CmpItemAbbrMatchFuzzy', { link = 'GruvboxAquaBold' }) vim.api.nvim_set_hl(0, 'CmpItemAbbrMatchFuzzy', { link = 'GruvboxAquaBold' })
local tbg = vim.api.nvim_get_hl_by_name('GruvboxBg0', false) local tbg = vim.api.nvim_get_hl_by_name('GruvboxBg0', false)
local bg = vim.api.nvim_get_hl_by_name('GruvboxBg0', true) local bg = vim.api.nvim_get_hl_by_name('GruvboxBg0', true)
local tfg = vim.api.nvim_get_hl_by_name('GruvboxGray', false) local tfg = vim.api.nvim_get_hl_by_name('GruvboxGray', false)
@ -245,6 +246,14 @@ function M.config()
ctermbg = tbg.foreground, ctermbg = tbg.foreground,
underdotted = true underdotted = true
}) })
vim.api.nvim_set_hl(0, 'LspCodeLens', {
fg = fg.foreground,
ctermfg = tfg.foreground,
italic = true
})
end end
}) })

View file

@ -5,6 +5,7 @@ local M = {
'b0o/schemastore.nvim', 'b0o/schemastore.nvim',
'SmiteshP/nvim-navic', 'SmiteshP/nvim-navic',
{ 'j-hui/fidget.nvim', config = true }, { 'j-hui/fidget.nvim', config = true },
{ 'ray-x/lsp_signature.nvim' },
}, },
keys = { keys = {
{ '<Space>li', '<Cmd>LspInfo<CR>', desc = 'Lsp info' }, { '<Space>li', '<Cmd>LspInfo<CR>', desc = 'Lsp info' },
@ -68,13 +69,24 @@ function M.config()
vim.keymap.set('i', '<C-k>', vim.lsp.buf.signature_help, mkOpts('LSP signature help')) vim.keymap.set('i', '<C-k>', vim.lsp.buf.signature_help, mkOpts('LSP signature help'))
end end
if client.server_capabilities.codeLensProvider then
vim.api.nvim_create_autocmd(
{ 'BufEnter', 'CursorHold', 'InsertLeave' }, {
callback = vim.lsp.codelens.refresh,
buffer = bufnr,
})
vim.keymap.set('n', '<space>cl', vim.lsp.codelens.run, mkOpts('LSP Run code lens'))
end
vim.keymap.set('n', '<space>D', vim.lsp.buf.type_definition, mkOpts('LSP type definition')) vim.keymap.set('n', '<space>D', vim.lsp.buf.type_definition, mkOpts('LSP type definition'))
vim.keymap.set('n', '<space>rn', vim.lsp.buf.rename, mkOpts('LSP rename')) vim.keymap.set('n', '<space>rn', vim.lsp.buf.rename, mkOpts('LSP rename'))
vim.keymap.set('n', '<space>ca', vim.lsp.buf.code_action, mkOpts('LSP Code action')) vim.keymap.set('n', '<space>ca', vim.lsp.buf.code_action, mkOpts('LSP Code action'))
vim.keymap.set('v', '<space>ca', vim.lsp.buf.code_action, mkOpts('LSP Code action')) vim.keymap.set('v', '<space>ca', vim.lsp.buf.code_action, mkOpts('LSP Code action'))
vim.keymap.set('n', 'gr', vim.lsp.buf.references, mkOpts('LSP references')) -- vim.keymap.set('n', 'gr', vim.lsp.buf.references, mkOpts('LSP references'))
vim.keymap.set('n', 'gr', '<Cmd>Trouble lsp_references<CR>', mkOpts('LSP references'))
vim.keymap.set('n', '<space>F', function() vim.lsp.buf.format({ async = true, filter = formatting_filter, }) end, opts) vim.keymap.set('n', '<space>F', function() vim.lsp.buf.format({ async = true, filter = formatting_filter, }) end,
opts)
if (formatting_filter(client)) then if (formatting_filter(client)) then
vim.api.nvim_buf_set_option(bufnr, 'formatexpr', 'v:lua.vim.lsp.formatexpr(#{timeout_ms:250})') vim.api.nvim_buf_set_option(bufnr, 'formatexpr', 'v:lua.vim.lsp.formatexpr(#{timeout_ms:250})')
end end

View file

@ -0,0 +1,8 @@
return {
'ray-x/lsp_signature.nvim',
lazy = true,
config = {
hint_prefix = '',
floating_window = false,
}
}

View file

@ -9,6 +9,7 @@ local M = {
build = 'cmake -S. -Bbuild -DCMAKE_BUILD_TYPE=Release && cmake --build build --config Release && cmake --install build --prefix build' build = 'cmake -S. -Bbuild -DCMAKE_BUILD_TYPE=Release && cmake --build build --config Release && cmake --install build --prefix build'
} }
}, },
cmd = { 'Telescope' },
keys = { keys = {
{ '<Space>b', [[<Cmd>Telescope buffers<CR>]], desc = 'Buffers' }, { '<Space>b', [[<Cmd>Telescope buffers<CR>]], desc = 'Buffers' },
{ '<Space>ff', [[<Cmd>Telescope fd<CR>]], desc = 'Search file' }, { '<Space>ff', [[<Cmd>Telescope fd<CR>]], desc = 'Search file' },
@ -18,12 +19,22 @@ local M = {
function M.config() function M.config()
local telescope = require('telescope') local telescope = require('telescope')
local actions = require('telescope.actions')
local layout_actions = require('telescope.actions.layout')
telescope.setup { telescope.setup {
defaults = { defaults = {
preview = { preview = {
hide_on_startup = true hide_on_startup = true
}, },
mappings = {
i = {
['<M-i>'] = layout_actions.toggle_preview,
},
n = {
['<M-i>'] = layout_actions.toggle_preview,
}
}
}, },
pickers = { pickers = {
buffers = { buffers = {
@ -32,8 +43,12 @@ function M.config()
sort_mru = true, sort_mru = true,
-- theme = "dropdown", -- theme = "dropdown",
mappings = { mappings = {
i = { ['<c-d>'] = 'delete_buffer', }, i = {
n = { ['<c-d>'] = 'delete_buffer', } ['<C-d>'] = actions.delete_buffer,
},
n = {
['<C-d>'] = actions.delete_buffer,
}
} }
} }
}, },