vim.g.mapleader = " " vim.g.maplocalleader = "," vim.o.termguicolors = true local install_path = vim.fn.stdpath("data") .. "/site/pack/packer/start/packer.nvim" if vim.fn.empty(vim.fn.glob(install_path)) > 0 then vim.fn.execute("!git clone --depth 1 https://github.com/wbthomason/packer.nvim " .. install_path) vim.api.nvim_command([[packadd packer.nvim]]) end local status_ok, packer = pcall(require, "packer") if not status_ok then return end packer.init({ enable = true, threshold = 0, display = { open_fn = function() return require("packer.util").float({ border = "single" }) end, }, }) return packer.startup({ function(use) use("nvim-lua/plenary.nvim") use({ "lewis6991/impatient.nvim", config = function() require("impatient").enable_profile() end, }) use({ "wbthomason/packer.nvim" }) use({ "nathom/filetype.nvim" }) use({ "ellisonleao/gruvbox.nvim" }) use({ "kyazdani42/nvim-web-devicons" }) use({ "nvim-telescope/telescope.nvim", config = function() require("plugins.telescope") end, }) use({ "nvim-telescope/telescope-file-browser.nvim" }) use({ "nvim-telescope/telescope-fzf-native.nvim", run = "make" }) use({ "norcalli/nvim-colorizer.lua", event = "BufRead", config = function() require("plugins.colorizer") end, }) use({ "nvim-treesitter/nvim-treesitter", event = { "BufRead", "BufNewFile" }, run = ":TSUpdate", config = function() require("plugins.treesitter") end, }) use({ "lewis6991/gitsigns.nvim", event = "BufReadPre", config = function() require("plugins.gitsigns_nvim") end, }) use({ "tpope/vim-fugitive", opt = true, cmd = { "Git", "Gdiff", "Gblame", "Glog", "Git mergetool" } }) use({ "neovim/nvim-lspconfig", config = function() require("plugins.lsp.lsp-config") end, }) use({ "ray-x/lsp_signature.nvim", after = "nvim-lspconfig" }) use({ "jose-elias-alvarez/null-ls.nvim", config = function() require("plugins.lsp.null-ls") end, }) use({ "rafamadriz/friendly-snippets", module = "cmp_nvim_lsp", event = "InsertEnter" }) use({ "hrsh7th/nvim-cmp", after = "friendly-snippets", config = function() require("plugins.lsp.nvim-cmp") end, }) use({ "f3fora/cmp-spell", after = "nvim-cmp" }) use({ "L3MON4D3/LuaSnip", wants = "friendly-snippets", after = "nvim-cmp", config = function() require("plugins.lsp.luasnip") end, }) use({ "saadparwaiz1/cmp_luasnip", after = "LuaSnip" }) use({ "hrsh7th/cmp-nvim-lua", after = "cmp_luasnip" }) use({ "hrsh7th/cmp-nvim-lsp", after = "cmp-nvim-lua" }) use({ "hrsh7th/cmp-buffer", after = "cmp-nvim-lsp" }) use({ "hrsh7th/cmp-path", after = "cmp-buffer" }) use({ "hrsh7th/cmp-nvim-lsp-signature-help", after = "cmp-path" }) use({ "windwp/nvim-autopairs", after = "nvim-cmp", config = function() require("plugins.autopairs") end, }) use({ "numToStr/Comment.nvim", module = "Comment", keys = { "gc", "gb" }, config = function() require("Comment").setup() end, }) end, })