vim.g.did_load_filetypes = 1 vim.g.mapleader = " " vim.g.maplocalleader = "," vim.o.termguicolors = true local install_path = vim.fn.stdpath("data") .. "/site/pack/packer/opt/packer.nvim" if vim.fn.empty(vim.fn.glob(install_path)) > 0 then vim.fn.execute("!git clone https://github.com/wbthomason/packer.nvim " .. install_path) end vim.api.nvim_command([[packadd packer.nvim]]) require("packer").startup({ function(use) use({ "wbthomason/packer.nvim", opt = true }) use({ "lewis6991/impatient.nvim", config = function() require("impatient") end, }) use("nathom/filetype.nvim") use("nvim-lua/plenary.nvim") use({ "ellisonleao/gruvbox.nvim", requires = { "rktjmp/lush.nvim", opt = true } }) use({ "kyazdani42/nvim-web-devicons", after = "gruvbox.nvim", opt = true, config = function() require("plugins.webdevicons_nvim") end, }) use({ "nvim-treesitter/nvim-treesitter", event = "CursorHold", run = ":TSUpdate", config = function() require("plugins.treesitter") end, }) use({ "norcalli/nvim-colorizer.lua", event = "CursorHold", config = function() require("plugins.colorizer") end, }) use({ "tpope/vim-fugitive", opt = true, cmd = { "Git", "Gdiff", "Gblame", "Glog", "Git mergetool" } }) use({ "lewis6991/gitsigns.nvim", event = { "BufRead" }, config = function() require("plugins.gitsigns_nvim") end, }) use({ "nvim-telescope/telescope.nvim", event = "CursorHold", config = function() require("plugins.telescope") end, }, { "nvim-telescope/telescope-fzf-native.nvim", after = "telescope.nvim", run = "make", config = function() require("telescope").load_extension("fzf") end, }) use({ "numToStr/Comment.nvim", event = "BufRead", config = function() require("Comment").setup() end, }) use({ "neovim/nvim-lspconfig", event = "BufRead", config = function() require("plugins.lsp.lsp-config") end, requires = { "ray-x/lsp_signature.nvim", "hrsh7th/cmp-nvim-lsp" }, }) use({ "jose-elias-alvarez/null-ls.nvim", after = "nvim-lspconfig", config = function() require("plugins.lsp.null-ls") end, }) use({ { "hrsh7th/nvim-cmp", event = "InsertEnter", config = function() require("plugins.lsp.nvim-cmp") end, requires = { { "L3MON4D3/LuaSnip", event = "CursorHold", config = function() require("plugins.lsp.luasnip") end, requires = { "rafamadriz/friendly-snippets" }, }, }, }, { "saadparwaiz1/cmp_luasnip", after = "nvim-cmp" }, { "hrsh7th/cmp-path", after = "nvim-cmp" }, { "hrsh7th/cmp-buffer", after = "nvim-cmp" }, { "hrsh7th/cmp-nvim-lua", after = "nvim-cmp" }, }) use({ "windwp/nvim-autopairs", event = "InsertCharPre", after = "nvim-cmp", config = function() require("plugins.autopairs") end, }) use({ "folke/lsp-trouble.nvim", cmd = { "LspTrouble" }, config = function() require("plugins.trouble") end, }) end, config = { compile_path = vim.fn.stdpath("config") .. "/lua/packer_compiled.lua", display = { open_fn = function() return require("packer.util").float({ border = "single" }) end, }, }, }) require("packer_compiled")