-- Grab Packer. (This should be OS agnostic) -- by Iron-E and khuedoan on GitHub local fn = vim.fn local install_path = vim.fn.stdpath('data') .. '/site/pack/packer/start/packer.nvim' if not vim.loop.fs_stat(install_path) then if not fn.executable("git") == 1 then print("Could not find git. Packer installation failed.") return end Packer_bootstrap = fn.system({ 'git', 'clone', '--depth', '1', 'https://github.com/wbthomason/packer.nvim', install_path }) vim.cmd 'packadd packer.nvim' end return require('packer').startup(function() -- get Packer to manage itself use 'wbthomason/packer.nvim' use 'morhetz/gruvbox' -- Neovim editor theme (gruvbox MVP) use 'williamboman/mason.nvim' -- better lspconfig interface use { 'williamboman/mason-lspconfig.nvim', requires = { 'neovim/nvim-lspconfig', -- Configurations for Nvim LSP 'williamboman/mason.nvim' } } use { 'jay-babu/mason-null-ls.nvim', requires = { 'jose-elias-alvarez/null-ls.nvim', 'williamboman/mason.nvim' } } use { 'jay-babu/mason-nvim-dap.nvim', requires = { 'williamboman/mason.nvim', 'mfussenegger/nvim-dap' } } use { 'rcarriga/nvim-dap-ui', requires = { "mfussenegger/nvim-dap" } } --[[ use { 'gleinir/lspsaga.nvim',-- Interact with LSP a little easier branch='main' } --]] -- learn this use 'tpope/vim-surround' -- differentiate brackets use 'luochen1990/rainbow' -- File tree use 'preservim/nerdtree' -- Distraction free writing use 'junegunn/goyo.vim' -- The Best Thing EVER use 'vimwiki/vimwiki' -- Eyecandy lbh use 'bling/vim-airline' -- better comments use 'scrooloose/nerdcommenter' -- Show colours use 'ap/vim-css-color' -- Add snippets use 'honza/vim-snippets' -- highlight matching html tags use 'valloric/matchtagalways' -- Syntax highlighting extension use 'sheerun/vim-polyglot' -- Autocomplete brackets and punctutation use 'jiangmiao/auto-pairs' -- Debug Adaptor Protocol (added for mason.nvim), and null-ls for linter and formatting use 'mfussenegger/nvim-dap' use 'jose-elias-alvarez/null-ls.nvim' -- treesitter use { 'nvim-treesitter/nvim-treesitter', run = function() local ts_update = require('nvim-treesitter.install').update({ with_sync = true }) ts_update() end, } -- Live Preview of MD use { "iamcco/markdown-preview.nvim", run = "cd app && npm install", setup = function() vim.g.mkdp_filetypes = { "markdown" } end, ft = { "markdown" }, } use 'rbgrouleff/bclose.vim' -- Telescope dependencies and entry use { { 'nvim-telescope/telescope-fzf-native.nvim', run = 'make', }, { 'nvim-telescope/telescope.nvim', branch = '0.1.x', requires = { {'nvim-lua/plenary.nvim'} } }, { "nvim-telescope/telescope-file-browser.nvim" }, } use { 'hrsh7th/nvim-cmp', 'hrsh7th/cmp-buffer', -- completion source 'hrsh7th/cmp-path', -- completion source 'hrsh7th/cmp-nvim-lua', -- completion source 'hrsh7th/cmp-nvim-lsp', -- completion source 'L3MON4D3/LuaSnip', 'saadparwaiz1/cmp_luasnip', 'onsails/lspkind.nvim' } use 'j-hui/fidget.nvim' use { "folke/trouble.nvim", requires = "nvim-tree/nvim-web-devicons", } use 'folke/neodev.nvim' if Packer_bootstrap then require'packer'.sync() require'packer'.compile() end end)