PIVONvim/lua/config/nvim-cmp.lua

44 lines
1.5 KiB
Lua
Raw Normal View History

2025-01-06 20:31:37 +03:00
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, -- Отключает отображение знаков (иконок ошибок) слева
})