2020-10-28 14:33:37 +01:00
|
|
|
-- Add the in built Cfilter plugin. Replaces QFGrep.
|
|
|
|
vim.cmd 'packadd cfilter'
|
|
|
|
vim.cmd 'packadd packer.nvim'
|
2020-10-23 11:55:04 +02:00
|
|
|
|
2020-10-28 14:33:37 +01:00
|
|
|
local init = function ()
|
|
|
|
use {'wbthomason/packer.nvim', opt = true}
|
|
|
|
-- Vertical Motion
|
|
|
|
use {
|
|
|
|
'justinmk/vim-sneak',
|
|
|
|
config = "require('modules.sneak')"
|
|
|
|
}
|
|
|
|
-- Search
|
2020-11-05 06:23:10 +01:00
|
|
|
use {
|
|
|
|
'junegunn/fzf',
|
|
|
|
run = './install --bin'
|
|
|
|
}
|
2020-10-28 14:33:37 +01:00
|
|
|
use {
|
|
|
|
'junegunn/fzf.vim',
|
|
|
|
config = "require('modules.fzf')"
|
|
|
|
}
|
2020-12-23 10:21:41 +01:00
|
|
|
use 'kevinhwang91/nvim-hlslens'
|
2020-10-28 14:33:37 +01:00
|
|
|
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'
|
2020-11-21 07:21:39 +01:00
|
|
|
use 'albertoCaroM/completion-tmux'
|
2020-10-28 14:33:37 +01:00
|
|
|
-- For tmux
|
|
|
|
use 'tmux-plugins/vim-tmux-focus-events'
|
|
|
|
-- Git support
|
|
|
|
use 'nvim-lua/plenary.nvim'
|
|
|
|
use {
|
|
|
|
'lewis6991/gitsigns.nvim',
|
2020-11-21 06:43:02 +01:00
|
|
|
config = "require('modules.gitsigns')"
|
2020-10-28 14:33:37 +01:00
|
|
|
}
|
|
|
|
use 'lambdalisue/gina.vim'
|
2020-11-17 14:06:45 +01:00
|
|
|
use 'rhysd/git-messenger.vim'
|
2020-10-28 14:33:37 +01:00
|
|
|
use 'rhysd/conflict-marker.vim'
|
|
|
|
use 'salcode/vim-interactive-rebase-reverse'
|
2020-12-19 10:27:25 +01:00
|
|
|
use 'whiteinge/diffconflicts'
|
2020-10-28 14:33:37 +01:00
|
|
|
-- 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 '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 {
|
2020-12-08 12:09:50 +01:00
|
|
|
'voldikss/vim-floaterm',
|
|
|
|
config = "require('modules.floaterm')"
|
2020-10-28 14:33:37 +01:00
|
|
|
}
|
|
|
|
-- Take care of sudo
|
|
|
|
use 'lambdalisue/suda.vim'
|
2020-10-30 07:08:04 +01:00
|
|
|
-- Alignment
|
|
|
|
use {
|
|
|
|
'junegunn/vim-easy-align',
|
|
|
|
config = "require('modules.easyalign')"
|
|
|
|
}
|
2020-10-28 14:33:37 +01:00
|
|
|
-- LSP
|
|
|
|
use {
|
|
|
|
'neovim/nvim-lspconfig',
|
2020-12-14 12:46:28 +01:00
|
|
|
'ojroques/nvim-lspfuzzy',
|
2020-12-31 15:10:27 +01:00
|
|
|
'nvim-lua/lsp-status.nvim'
|
2020-10-28 14:33:37 +01:00
|
|
|
}
|
|
|
|
-- Language support & syntax highlighting
|
|
|
|
-- Haskell
|
|
|
|
use {
|
|
|
|
'neovimhaskell/haskell-vim',
|
|
|
|
'Twinside/vim-hoogle',
|
|
|
|
ft = 'haskell'
|
|
|
|
}
|
|
|
|
use {
|
|
|
|
'ndmitchell/ghcid',
|
|
|
|
rtp = 'plugins/nvim',
|
|
|
|
ft = 'haskell'
|
|
|
|
}
|
|
|
|
-- For C, Lua and Rust
|
|
|
|
use {
|
|
|
|
'nvim-treesitter/nvim-treesitter',
|
|
|
|
config = "require('treesitter')",
|
|
|
|
}
|
2020-12-12 12:50:42 +01:00
|
|
|
-- All writing needs
|
2020-10-28 14:33:37 +01:00
|
|
|
use 'lervag/vimtex'
|
2020-12-12 12:50:42 +01:00
|
|
|
use 'vim-pandoc/vim-pandoc'
|
|
|
|
use 'vim-pandoc/vim-pandoc-syntax'
|
2020-10-28 14:33:37 +01:00
|
|
|
-- Dhall & nix
|
|
|
|
use 'vmchale/dhall-vim'
|
|
|
|
use 'LnL7/vim-nix'
|
|
|
|
-- Other syntax highlighting support
|
|
|
|
use 'georgewitteman/vim-fish'
|
2020-10-29 05:52:53 +01:00
|
|
|
-- For statusline
|
|
|
|
use {
|
|
|
|
'glepnir/galaxyline.nvim',
|
|
|
|
config = "require('modules.statusline')",
|
|
|
|
requires = { 'kyazdani42/nvim-web-devicons' }
|
|
|
|
}
|
2020-10-28 14:33:37 +01:00
|
|
|
end
|
2020-10-23 11:55:04 +02:00
|
|
|
|
2020-10-28 14:33:37 +01:00
|
|
|
return require('packer').startup(init)
|