require("packer").startup(function() use("wbthomason/packer.nvim") -- -- LSP -- -- lspconfig use({ "neovim/nvim-lspconfig", event = "BufEnter", config = function() require("plugins.lsp") end, }) -- nvim lint use({ "mfussenegger/nvim-lint", event = "BufWrite", config = function() require("plugins.lint") end, }) -- -- completion -- -- cmp use({ "hrsh7th/nvim-cmp", event = "InsertEnter", config = function() require("plugins.cmp") end, }) use({ "hrsh7th/cmp-nvim-lsp", after = "nvim-cmp", }) use({ "hrsh7th/cmp-vsnip", after = "nvim-cmp", }) use({ "hrsh7th/cmp-buffer", after = "nvim-cmp", }) use({ "hrsh7th/cmp-path", after = "nvim-cmp", }) -- snippets use({ "hrsh7th/vim-vsnip", after = "nvim-cmp", config = function() require("plugins.vsnip") end, }) use({ "rafamadriz/friendly-snippets", after = "vim-vsnip", }) -- lsp signature use({ "ray-x/lsp_signature.nvim", config = function() require("plugins.lspsignature") end, }) -- autopairs use({ "windwp/nvim-autopairs", after = "nvim-cmp", config = function() require("plugins.autopairs") end, }) -- treesitter use({ "nvim-treesitter/nvim-treesitter", event = "BufEnter", config = function() require("plugins.treesitter") end, }) -- formatter use({ "mhartington/formatter.nvim", cmd = { "Format", "FormatWrite" }, config = function() require("plugins.formatter") end, }) -- dap use({ "mfussenegger/nvim-dap", module = "dap", config = function() require("plugins.dap") end, }) use({ "nvim-telescope/telescope-dap.nvim", after = "nvim-dap", }) use({ "theHamsta/nvim-dap-virtual-text", after = "nvim-dap", config = function() require("plugins.dap-virtual-text") end, }) -- toggleterm use({ "akinsho/toggleterm.nvim", cmd = "ToggleTerm*", config = function() require("plugins.toggleterm") end, }) -- comment.nvim use({ "numToStr/Comment.nvim", event = "BufRead", config = function() require("plugins.comment") end, }) -- fugitive use({ "tpope/vim-fugitive", }) -- -- files (and more) -- -- telescope use({ "nvim-telescope/telescope.nvim", cmd = "Telescope", requires = { "nvim-lua/plenary.nvim" }, config = function() require("plugins.telescope") end, }) -- nvim tree use({ "kyazdani42/nvim-tree.lua", requires = "kyazdani42/nvim-web-devicons", config = function() require("plugins.nvim-tree") end, }) -- -- looks -- -- lualine use({ "hoob3rt/lualine.nvim", config = function() require("plugins.lualine") end, }) -- -- colorscheme -- use({ -- 'crusoexia/vim-monokai', "dylanaraps/wal.vim", after = "nvim-treesitter", }) -- -- qol -- -- blankline use({ "lukas-reineke/indent-blankline.nvim", event = "VimEnter", }) -- highlight yank use({ "machakann/vim-highlightedyank", event = "TextYankPost", }) -- tabular use({ "godlygeek/tabular", cmd = "Tabularize", }) -- maximizer use({ "szw/vim-maximizer", cmd = "MaximizerToggle", }) -- whichkey use({ "folke/which-key.nvim", config = function() require("plugins.whichkey") end, }) -- -- filetype specific -- -- csv use({ "chrisbra/csv.vim", ft = "csv", }) -- latex use({ "lervag/vimtex", ft = "tex", config = function() require("plugins.vimtex") end, }) -- -- orgmode -- use({ "nvim-orgmode/orgmode", after = 'nvim-treesitter', config = function() require("plugins.orgmode") end, }) end)