return { -- Nvim lspconfig { "neovim/nvim-lspconfig", event = { "BufReadPre", "BufNewFile" }, config = function () require("configs.lsp.lspconfig") end }, -- Mason { "mason-org/mason.nvim", opts = {} }, -- Mason lspconfig { "mason-org/mason-lspconfig.nvim", opts = {}, dependencies = { "mason-org/mason.nvim", "neovim/nvim-lspconfig", } }, -- Nvim complete { "hrsh7th/nvim-cmp", event = "InsertEnter", dependencies = { { "L3MON4D3/LuaSnip", dependencies = "rafamadriz/friendly-snippets", opts = { history = true, updateevents = "TextChanged,TextChangedI" }, config = function(_, opts) require("luasnip").config.set_config(opts) require "configs.luasnip" end, }, { "windwp/nvim-autopairs", opts = { fast_wrap = {}, disable_filetype = { "TelescopePrompt", "vim" }, }, config = function(_, opts) require("nvim-autopairs").setup(opts) -- setup cmp for autopairs local cmp_autopairs = require "nvim-autopairs.completion.cmp" require("cmp").event:on("confirm_done", cmp_autopairs.on_confirm_done()) end, }, { "saadparwaiz1/cmp_luasnip", "hrsh7th/cmp-nvim-lua", "hrsh7th/cmp-nvim-lsp", "hrsh7th/cmp-buffer", "https://codeberg.org/FelipeLema/cmp-async-path.git" } }, opts = function() return require "configs.cmp" end, }, -- Treesitter (syntax) { "nvim-treesitter/nvim-treesitter", event = { "BufReadPost", "BufNewFile" }, cmd = { "TSInstall", "TSBufEnable", "TSBufDisable", "TSModuleInfo" }, build = ":TSUpdate", config = function() require("nvim-treesitter.config").setup(require "configs.treesitter") end, }, -- Folders { 'kevinhwang91/nvim-ufo', dependencies = 'kevinhwang91/promise-async', event = "VeryLazy", config = function() require("configs.ufo") end }, -- Tests { "nvim-neotest/neotest", event = "VeryLazy", dependencies = { "nvim-lua/plenary.nvim", "alfaix/neotest-gtest", "olimorris/neotest-phpunit", }, config = function() require("neotest").setup({ adapters = { require("neotest-phpunit"), require("neotest-gtest").setup({}), }, }) end, }, -- These are for C/C++ Debbuger { "nvim-neotest/nvim-nio", event = "VeryLazy", }, { "mfussenegger/nvim-dap", event = "VeryLazy", config = function () require("configs.nvim-dap").setup() end }, { "rcarriga/nvim-dap-ui", event = "VeryLazy", dependencies = "mfussenegger/nvim-dap", }, { "jay-babu/mason-nvim-dap.nvim", event = "VeryLazy", dependencies = { "williamboman/mason.nvim", "mfussenegger/nvim-dap", }, opts = { handlers = {} }, }, { "theHamsta/nvim-dap-virtual-text", dependencies = "mfussenegger/nvim-dap", config = function() require("nvim-dap-virtual-text").setup() end, }, { 'aspeddro/gitui.nvim', config = function () require("gitui").setup() end, }, }