return { -- Nvim lspconfig { "neovim/nvim-lspconfig", 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 = { { -- snippet plugin "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, }, -- autopairing of (){}[] etc { "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, }, -- cmp sources plugins { "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 { "nvim-treesitter/nvim-treesitter", event = { "BufReadPost", "BufNewFile" }, cmd = { "TSInstall", "TSBufEnable", "TSBufDisable", "TSModuleInfo" }, build = ":TSUpdate", opts = function() return require "configs.treesitter" end, config = function(_, opts) require("nvim-treesitter.configs").setup(opts) end, }, -- Ufo folders { 'kevinhwang91/nvim-ufo', dependencies = 'kevinhwang91/promise-async', event = "VeryLazy", config = function () end, }, }