local cmp = require'cmp' cmp.setup({ snippet = { expand = function(args) require('luasnip').lsp_expand(args.body) end, }, mapping = { [''] = cmp.mapping.select_prev_item(), [''] = cmp.mapping.select_next_item(), [''] = cmp.mapping.confirm({ select = true }), [''] = cmp.mapping.confirm({ select = true }), [''] = cmp.mapping.complete(), [''] = cmp.mapping.close(), [''] = cmp.mapping.close(), }, sources = cmp.config.sources({ { name = 'nvim_lsp' }, { name = 'buffer' }, { name = 'path' }, -- Уберите render-markdown и nvim_lsp_signature_help если они не работают }, { { name = 'codecompanion_slash_commands' }, { name = 'codecompanion_tools' }, { name = 'codecompanion_editor_context' }, { name = 'codecompanion_models' }, { name = 'codecompanion_acp_commands' }, }), -- Настройка источников специально для буферов CodeCompanion filetype = { codecompanion = { sources = { { name = 'codecompanion' }, { name = 'buffer' }, { name = 'path' }, } } }, }) -- Diagnostic vim.keymap.set('n', 'k', 'lua vim.diagnostic.open_float()', { noremap = true, silent = true }) vim.keymap.set('n', 'l', [[:lua YankDiagnosticError()]], { 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, -- Отключает отображение знаков (иконок ошибок) слева })