return { { "nvim-treesitter/nvim-treesitter", branch = 'master', lazy = false, build = ":TSUpdate", config = function() require("plugins.config.treesitter") end, }, { "nvim-tree/nvim-tree.lua", dependencies = { "nvim-tree/nvim-web-devicons" }, config = function() require("plugins.config.nvimtree") end, }, { "nvim-lualine/lualine.nvim", config = function() require("plugins.config.lualine") end, }, { "sainnhe/gruvbox-material", config = function() vim.cmd([[colorscheme gruvbox-material]]) end, }, { "neovim/nvim-lspconfig", dependencies = { { "folke/lazydev.nvim", ft = "lua", -- only load on lua files opts = { library = { { path = "${3rd}/luv/library", words = { "vim%.uv" } }, }, }, }, { "williamboman/mason.nvim", config = function() require("plugins.config.mason") end, }, { "williamboman/mason-lspconfig.nvim", }, }, config = function() require("plugins.config.lsp") end, }, { "hrsh7th/nvim-cmp", dependencies = { "hrsh7th/cmp-nvim-lsp", "hrsh7th/cmp-buffer", "hrsh7th/cmp-path", "hrsh7th/cmp-cmdline", "L3MON4D3/LuaSnip", "saadparwaiz1/cmp_luasnip", "rafamadriz/friendly-snippets", }, config = function() require("plugins.config.cmp") end, }, { 'nvim-telescope/telescope.nvim', tag = '0.1.8', dependencies = { 'nvim-lua/plenary.nvim' } }, { "folke/trouble.nvim", dependencies = { "nvim-tree/nvim-web-devicons" }, config = function() require("plugins.config.trouble") end, }, { "akinsho/toggleterm.nvim", config = function() require("plugins.config.toggleterm") end, }, { "folke/which-key.nvim", config = function() require("plugins.config.whichkey") end, }, { "mfussenegger/nvim-dap", dependencies = { "rcarriga/nvim-dap-ui", "nvim-neotest/nvim-nio", "theHamsta/nvim-dap-virtual-text", "nvim-telescope/telescope-dap.nvim", }, config = function() require("plugins.config.dap") end, }, { "nvim-neotest/neotest", dependencies = { "nvim-neotest/nvim-nio", "nvim-lua/plenary.nvim", "alfaix/neotest-gtest", }, config = function() require("plugins.config.neotest") end, }, { "Civitasv/cmake-tools.nvim", config = function() require("plugins.config.cmake") end, }, { 'nvimdev/indentmini.nvim', config = function() require("indentmini").setup() -- use default config vim.cmd('hi default link IndentLine Comment') vim.cmd.highlight('IndentLine guifg=#89b482') vim.cmd.highlight('IndentLineCurrent guifg=#e78a4e') end, }, { 'jbyuki/venn.nvim', config = function() require("plugins.config.venn") end, }, { "iamcco/markdown-preview.nvim", build = "cd app && npm install", cmd = { "MarkdownPreview", "MarkdownPreviewToggle", "MarkdownPreviewStop" }, ft = { "markdown" }, config = function() vim.g.mkdp_auto_start = 0 vim.g.mkdp_auto_close = 1 vim.g.mkdp_browser = "/usr/bin/zen-browser" vim.g.mkdp_theme = "dark" end, }, { "f-person/git-blame.nvim" }, { "lewis6991/gitsigns.nvim" }, { "hedyhli/markdown-toc.nvim", ft = "markdown", -- Lazy load on markdown filetype cmd = { "Mtoc" }, -- Or, lazy load on "Mtoc" command opts = { -- Your configuration here (optional) }, }, { "vimwiki/vimwiki", config = function() vim.g.vimwiki_list = { { path = "~/vimwiki/", syntax = "markdown", ext = ".md", }, } vim.g.vimwiki_ext2syntax = { [".md"] = "markdown", [".markdown"] = "markdown", [".mdown"] = "markdown", } end, }, { "nickjvandyke/opencode.nvim", dependencies = { -- Recommended for `ask()` and `select()`. -- Required for `snacks` provider. ---@module 'snacks' <- Loads `snacks.nvim` types for configuration intellisense. { "folke/snacks.nvim", opts = { input = {}, picker = {}, terminal = {} } }, }, config = function() require("plugins.config.opencode") end, } }