44 lines
1.5 KiB
Lua
44 lines
1.5 KiB
Lua
![]() |
local cmp = require'cmp'
|
||
|
|
||
|
cmp.setup({
|
||
|
snippet = {
|
||
|
expand = function(args)
|
||
|
require('luasnip').lsp_expand(args.body)
|
||
|
end,
|
||
|
},
|
||
|
mapping = {
|
||
|
['<C-l>'] = cmp.mapping.select_prev_item(),
|
||
|
['<C-k>'] = cmp.mapping.select_next_item(),
|
||
|
['<C-;>'] = cmp.mapping.confirm({ select = true }),
|
||
|
['<CR>'] = cmp.mapping.confirm({ select = true }),
|
||
|
['<C-Space>'] = cmp.mapping.complete(),
|
||
|
['<C-j>'] = cmp.mapping.close(),
|
||
|
['<C-e>'] = cmp.mapping.close(),
|
||
|
},
|
||
|
sources = {
|
||
|
{ name = 'nvim_lsp' },
|
||
|
{ name = 'buffer' },
|
||
|
{ name = 'nvim_lsp_signature_help' },
|
||
|
},
|
||
|
-- другие настройки
|
||
|
})
|
||
|
|
||
|
-- Diagnostic
|
||
|
vim.keymap.set('n', '<Space>k', '<cmd>lua vim.diagnostic.open_float()<CR>', { noremap = true, silent = true })
|
||
|
vim.keymap.set('n', '<space>l', [[:lua YankDiagnosticError()<CR>]], { noremap = true, silent = true, desc = "Copy error" })
|
||
|
|
||
|
function YankDiagnosticError()
|
||
|
vim.diagnostic.open_float()
|
||
|
vim.diagnostic.open_float()
|
||
|
local win_id = vim.fn.win_getid() -- get the window ID of the floating window
|
||
|
vim.cmd("normal! j") -- move down one row
|
||
|
vim.cmd("normal! VG") -- select everything from that row down
|
||
|
vim.cmd("normal! \"+y") -- yank selected text
|
||
|
vim.api.nvim_win_close(win_id, true) -- close the floating window by its ID
|
||
|
end
|
||
|
|
||
|
|
||
|
vim.diagnostic.config({
|
||
|
signs = false, -- Отключает отображение знаков (иконок ошибок) слева
|
||
|
})
|