-- Autocommand to reload neovim plugins when this file gets saved vim.cmd([[ augroup packer_user_config autocmd! autocmd BufWritePost plugin-setup.lua source | PackerCompile augroup end ]]) -- Guard if packer can't be found local status, packer = pcall(require, "packer") if not status then return end return packer.startup({ function(use) use("wbthomason/packer.nvim") -- Lua functions used by many plugins use("nvim-lua/plenary.nvim") -- Theming - one for all package. autocomplete :colorscheme to see what is available use("RRethy/nvim-base16") vim.cmd([[colorscheme base16-espresso]]) -- Managing lsp servers, linters, formatters use("williamboman/mason.nvim") use("williamboman/mason-lspconfig.nvim") -- Configuring lsp servers use("neovim/nvim-lspconfig") use("hrsh7th/cmp-nvim-lsp") use({ "glepnir/lspsaga.nvim", branch = "main" }) use("jose-elias-alvarez/typescript.nvim") use("onsails/lspkind.nvim") -- Formatting and linting use("jose-elias-alvarez/null-ls.nvim") use("jayp0521/mason-null-ls.nvim") -- Autopairs use("windwp/nvim-autopairs") -- git use("lewis6991/gitsigns.nvim") use("tpope/vim-surround") -- Highlight colors use({ "norcalli/nvim-colorizer.lua", ft = { "css", "javascript", "vim", "html" }, config = [[require('colorizer').setup {'css', 'javascript', 'vim', 'html'}]], }) -- Syntax highlighting use({ "nvim-treesitter/nvim-treesitter", run = function() local ts_update = require("nvim-treesitter.install").update({ with_sync = true }) ts_update() end, }) -- Lualine statusline use("nvim-lualine/lualine.nvim") -- fuzzy finding with telescope use({ "nvim-telescope/telescope-fzf-native.nvim", run = "make" }) use({ "nvim-telescope/telescope.nvim", branch = "0.1.x" }) -- autocompletion use("hrsh7th/nvim-cmp") use("hrsh7th/cmp-buffer") use("hrsh7th/cmp-path") -- snippets use("L3MON4D3/LuaSnip") use("saadparwaiz1/cmp_luasnip") use("rafamadriz/friendly-snippets") -- toggleterm use({ "akinsho/toggleterm.nvim", tag = "v2.*" }) -- easier commenting use("numToStr/Comment.nvim") -- File explorer use("nvim-tree/nvim-tree.lua") use("nvim-tree/nvim-web-devicons") -- Popup for available keybinds use("folke/which-key.nvim") -- Fast onscreen navigation use("ggandor/leap.nvim") -- jinja2 syntax use("glench/vim-jinja2-syntax") -- nvim startpage use({ "goolord/alpha-nvim", requires = "nvim-tree/nvim-web-devicons" }) -- schemastore for nvim use("b0o/schemastore.nvim") if packer.bootstrap then require("packer").sync() end end, config = { display = { open_fn = require("packer.util").float, }, }, })