return { { { 'windwp/nvim-autopairs', keys = { { '', mode = 'i' }, { '', mode = 'i' }, { '{', mode = 'i' }, { '[', mode = 'i' }, { '(', mode = 'i' }, { '"', mode = 'i' }, { "'", mode = 'i' }, { '`', mode = 'i' }, { '<', mode = 'i' }, }, lazy = true, init = function() vim.api.nvim_create_autocmd('User', { pattern = 'IntPairsComp', callback = function() require('cmp').event:on( 'confirm_done', require('nvim-autopairs.completion.cmp').on_confirm_done() ) end, once = true, }) end, config = function() require('nvim-autopairs').setup({ map_bs = false, check_ts = true, fast_wrap = { highlight = 'Question', highlight_grey = 'LspCodeLens' }, }) end, }, { 'hrsh7th/nvim-cmp', optional = true, opts = function() require('cmp').event:on('menu_opened', function() if vim.api.nvim_get_mode().mode:sub(1, 1) ~= 'c' then vim.api.nvim_exec_autocmds('User', { pattern = 'IntPairsComp', modeline = false }) end end) end, }, }, { 'altermo/ultimate-autopair.nvim', keys = { { '', mode = { 'i', 'c' } }, { '', mode = { 'i', 'c' } }, { '', mode = { 'i', 'c' } }, { '{', mode = 'c' }, { '[', mode = 'c' }, { '(', mode = 'c' }, { '"', mode = 'c' }, { "'", mode = 'c' }, { '`', mode = 'c' }, }, lazy = true, config = function() require('ultimate-autopair').setup({ pair_map = true, cr = { enable = false }, space2 = { enable = true }, fastwarp = { enable = false }, }) end, }, }