-- Add the in built Cfilter plugin. Replaces QFGrep. vim.cmd 'packadd cfilter' vim.cmd 'packadd packer.nvim' local init = function () use {'wbthomason/packer.nvim', opt = true} -- Vertical Motion use { 'justinmk/vim-sneak', config = "require('modules.sneak')" } -- Search use { 'junegunn/fzf', run = './install --bin' } use { 'junegunn/fzf.vim', config = "require('modules.fzf')" } use 'kevinhwang91/nvim-hlslens' use 'wincent/ferret' use 'lambdalisue/reword.vim' -- Remove extraneous whitespace when edit mode is exited use { 'ntpeters/vim-better-whitespace', config = "require('modules.better-whitespace')" } -- Manage Project sessions use { 'thaerkh/vim-workspace', config = "require('modules.workspace')" } -- For autocompletion use { 'nvim-lua/completion-nvim', config = "require('modules.completion')" } use 'steelsojka/completion-buffers' use 'albertoCaroM/completion-tmux' -- For tmux use 'tmux-plugins/vim-tmux-focus-events' -- Git support use 'nvim-lua/plenary.nvim' use { 'lewis6991/gitsigns.nvim', config = "require('modules.gitsigns')" } use 'lambdalisue/gina.vim' use 'rhysd/git-messenger.vim' use 'rhysd/conflict-marker.vim' use 'salcode/vim-interactive-rebase-reverse' use 'whiteinge/diffconflicts' -- Boost vim command line mode use 'vim-utils/vim-husk' -- Rainbow Parentheses use 'luochen1990/rainbow' -- Formatting use { 'sbdchd/neoformat', cmd = 'Neoformat' } -- Run things async use { 'hauleth/asyncdo.vim', config = "require('modules.asyncdo')" } -- Quickfix use 'kevinhwang91/nvim-bqf' use 'ronakg/quickr-cscope.vim' use { 'milkypostman/vim-togglelist', config = "require('modules.togglelist')" } use 'yssl/QFEnter' use { 'chengzeyi/fzf-preview.vim', config = "require('modules.fzf-preview')" } -- Text Object plugins use { 'wellle/targets.vim', 'tpope/vim-surround', 'coderifous/textobj-word-column.vim', 'tommcdo/vim-exchange', 'chaoren/vim-wordmotion' } -- Tim pope essentials use { 'tpope/vim-commentary', 'tpope/vim-repeat', 'tpope/vim-sleuth' } -- Show indentation levels use 'Yggdroot/indentLine' -- Smooth scrolling use 'psliwka/vim-smoothie' -- Directory viewer use 'justinmk/vim-dirvish' -- Show leader key bindings use { 'liuchengxu/vim-which-key', config = "require('modules.which_key')" } -- Clipboard use 'christoomey/vim-system-copy' -- Toggle terminal use { 'voldikss/vim-floaterm', config = "require('modules.floaterm')" } -- Take care of sudo use 'lambdalisue/suda.vim' -- Alignment use { 'junegunn/vim-easy-align', config = "require('modules.easyalign')" } -- LSP use { 'neovim/nvim-lspconfig', 'ojroques/nvim-lspfuzzy', 'nvim-lua/lsp-status.nvim' } -- Language support & syntax highlighting -- Haskell use 'neovimhaskell/haskell-vim' use { 'ndmitchell/ghcid', rtp = 'plugins/nvim' } -- For C, Lua and Rust use { 'nvim-treesitter/nvim-treesitter', config = "require('treesitter')", } -- All writing needs use 'lervag/vimtex' use 'vim-pandoc/vim-pandoc' use 'vim-pandoc/vim-pandoc-syntax' -- Dhall & nix use 'vmchale/dhall-vim' use 'LnL7/vim-nix' -- Other syntax highlighting support use 'georgewitteman/vim-fish' use 'inkarkat/SyntaxAttr.vim' -- For statusline use { 'glepnir/galaxyline.nvim', config = "require('modules.statusline')", requires = { 'kyazdani42/nvim-web-devicons' } } end return require('packer').startup(init)