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 = { { name = 'nvim_lsp' }, { name = 'buffer' }, { name = 'nvim_lsp_signature_help' }, { name = 'render-markdown' }, { 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, -- Отключает отображение знаков (иконок ошибок) слева })