return { { "hrsh7th/nvim-cmp", dependencies = { { "hrsh7th/cmp-nvim-lua" }, { "hrsh7th/cmp-nvim-lsp-signature-help" }, { "hrsh7th/cmp-cmdline" }, { "hrsh7th/cmp-path" }, { "hrsh7th/cmp-buffer" }, { "windwp/nvim-autopairs", event = "InsertEnter", opts = { fast_wrap = {}, disable_filetype = { "TelescopePrompt", "vim" }, map_cr = true, }, config = function(opts) require("nvim-autopairs").setup(opts) local cmp_autopairs = require "nvim-autopairs.completion.cmp" local cmp = require('cmp') require("cmp").event:on("confirm_done", cmp_autopairs.on_confirm_done()) end }, { "lukas-reineke/indent-blankline.nvim", event = "User FilePost", main = "ibl", opts = {} } }, opts = function() require "config.plugins.cmp" end, }, { "hrsh7th/cmp-nvim-lsp", dependencies = {}, config = function () local capabilities = require('cmp_nvim_lsp').default_capabilities() local lsps = { "clangd", "arduino_language_server", "lua_ls", "pylsp", "texlab", "tinymist", "cssls", "html", } -- Load completion engines for _, lsp in pairs(lsps) do require('lspconfig')[lsp].setup { capabilities = capabilities } end end, }, { "L3MON4D3/LuaSnip", dependencies = { "saadparwaiz1/cmp_luasnip", "rafamadriz/friendly-snippets" }, opts = {} } }