return { -- Packer can manage itself as an optional plugin { "wbthomason/packer.nvim" }, { "neovim/nvim-lspconfig" }, { "tamago324/nlsp-settings.nvim" }, { "jose-elias-alvarez/null-ls.nvim" }, { "antoinemadec/FixCursorHold.nvim" }, -- Needed while issue https://github.com/neovim/neovim/issues/12587 is still open { "williamboman/nvim-lsp-installer", }, { "nvim-lua/popup.nvim" }, { "nvim-lua/plenary.nvim" }, -- Telescope { "nvim-telescope/telescope.nvim", config = function() require("lvim.core.telescope").setup() end, disable = not lvim.builtin.telescope.active, }, { "nvim-telescope/telescope-fzf-native.nvim", run = "make", disable = not lvim.builtin.telescope.active, }, -- Install nvim-cmp, and buffer source as a dependency { "hrsh7th/nvim-cmp", config = function() require("lvim.core.cmp").setup() end, requires = { "L3MON4D3/LuaSnip", "saadparwaiz1/cmp_luasnip", "hrsh7th/cmp-buffer", "hrsh7th/cmp-nvim-lsp", "hrsh7th/cmp-path", "hrsh7th/cmp-nvim-lua", }, run = function() -- cmp's config requires cmp to be installed to run the first time if not lvim.builtin.cmp then require("lvim.core.cmp").config() end end, }, { "rafamadriz/friendly-snippets", -- event = "InsertCharPre", -- disable = not lvim.builtin.compe.active, }, -- Autopairs { "windwp/nvim-autopairs", -- event = "InsertEnter", config = function() require("lvim.core.autopairs").setup() end, disable = not lvim.builtin.autopairs.active, }, -- Treesitter { "nvim-treesitter/nvim-treesitter", branch = "0.5-compat", -- run = ":TSUpdate", config = function() require("lvim.core.treesitter").setup() end, }, -- NvimTree { "kyazdani42/nvim-tree.lua", -- event = "BufWinOpen", -- cmd = "NvimTreeToggle", -- commit = "fd7f60e242205ea9efc9649101c81a07d5f458bb", config = function() require("lvim.core.nvimtree").setup() end, disable = not lvim.builtin.nvimtree.active, }, { "lewis6991/gitsigns.nvim", config = function() require("lvim.core.gitsigns").setup() end, event = "BufRead", disable = not lvim.builtin.gitsigns.active, }, -- Whichkey -- TODO: change back to folke/which-key.nvim after folke got back { "abzcoding/which-key.nvim", branch = "fix/neovim-6-position", config = function() require("lvim.core.which-key").setup() end, event = "BufWinEnter", disable = not lvim.builtin.which_key.active, }, -- Comments { "numToStr/Comment.nvim", event = "BufRead", config = function() require("lvim.core.comment").setup() end, disable = not lvim.builtin.comment.active, }, -- project.nvim { "ahmedkhalf/project.nvim", config = function() require("lvim.core.project").setup() end, disable = not lvim.builtin.project.active, }, -- Icons { "kyazdani42/nvim-web-devicons" }, -- Status Line and Bufferline { -- "hoob3rt/lualine.nvim", "shadmansaleh/lualine.nvim", -- "Lunarvim/lualine.nvim", config = function() require("lvim.core.lualine").setup() end, disable = not lvim.builtin.lualine.active, }, { "romgrk/barbar.nvim", config = function() require("lvim.core.bufferline").setup() end, event = "BufWinEnter", disable = not lvim.builtin.bufferline.active, }, -- Debugging { "mfussenegger/nvim-dap", -- event = "BufWinEnter", config = function() require("lvim.core.dap").setup() end, disable = not lvim.builtin.dap.active, }, -- Debugger management { "Pocco81/DAPInstall.nvim", -- event = "BufWinEnter", -- event = "BufRead", disable = not lvim.builtin.dap.active, }, -- Dashboard { "ChristianChiarulli/dashboard-nvim", event = "BufWinEnter", config = function() require("lvim.core.dashboard").setup() end, disable = not lvim.builtin.dashboard.active, }, -- Terminal { "akinsho/toggleterm.nvim", event = "BufWinEnter", config = function() require("lvim.core.terminal").setup() end, disable = not lvim.builtin.terminal.active, }, }