local ensure_packer = function() local fn = vim.fn local install_path = fn.stdpath('data')..'/site/pack/packer/start/packer.nvim' if fn.empty(fn.glob(install_path)) > 0 then fn.system({'git', 'clone', '--depth', '1', 'https://github.com/wbthomason/packer.nvim', install_path}) vim.cmd [[packadd packer.nvim]] return true end return false end local packer_bootstrap = ensure_packer() vim.cmd([[autocmd BufWritePost plugins.lua source | PackerCompile]]) return require('packer').startup({function() local use = use -- Packer can manage itself use 'wbthomason/packer.nvim' -- Theme use 'navarasu/onedark.nvim' -- use 'liuchengxu/space-vim-dark' use { 'nvim-lualine/lualine.nvim', requires = {'kyazdani42/nvim-web-devicons', opt = true}, config = function() require('plugins/lualine') end } use { "folke/todo-comments.nvim", requires = "nvim-lua/plenary.nvim", config = function() require("todo-comments").setup()end } use { "folke/which-key.nvim", config = function() require("which-key").setup() end } use { 'jremmen/vim-ripgrep', op = true, cmd = { 'Rg' } } use { 'tpope/vim-dispatch', opt = true, cmd = { 'Dispatch', 'Dispatch!' } } use 'tpope/vim-fugitive' use 'tpope/vim-commentary' use 'sheerun/vim-polyglot' use 'honza/vim-snippets' use 'szw/vim-tags' use 'rodjek/vim-puppet' use 'tpope/vim-rails' use 'tpope/vim-haml' use 'xolox/vim-notes' use 'xolox/vim-misc' use 'airblade/vim-gitgutter' use 'akinsho/toggleterm.nvim' -- LSP Setup use 'neovim/nvim-lspconfig' use 'williamboman/nvim-lsp-installer' use 'nvim-lua/lsp_extensions.nvim' use 'ray-x/lsp_signature.nvim' use 'nvim-lua/completion-nvim' use 'nvim-lua/popup.nvim' use { 'nvim-telescope/telescope.nvim', requires = { {'nvim-lua/plenary.nvim'} } } use 'nvim-lua/plenary.nvim' use 'L3MON4D3/LuaSnip' -- Snippets plugin use 'hrsh7th/nvim-cmp' -- Autocompletion plugin use 'hrsh7th/cmp-nvim-lsp' use 'saadparwaiz1/cmp_luasnip' use "hrsh7th/cmp-buffer" use "hrsh7th/cmp-path" use 'kdheepak/cmp-latex-symbols' use 'nvim-treesitter/nvim-treesitter' use 'simrat39/symbols-outline.nvim' use 'j-hui/fidget.nvim' use 'kyazdani42/nvim-web-devicons' use 'stevearc/dressing.nvim' use { 'kyazdani42/nvim-tree.lua', cmd = { 'NvimTreeOpen', 'NvimTreeFocus', 'NvimTreeToggle', }, config = function() require'plugins/nvim-tree' end } use 'justinmk/vim-sneak' if packer_bootstrap then require('packer').sync() end end, config = { display = { open_fn = require('packer.util').float, } }})