167 lines
3.7 KiB
Lua
167 lines
3.7 KiB
Lua
-- 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 {
|
|
'hrsh7th/nvim-compe',
|
|
config = "require('modules.completion')"
|
|
}
|
|
-- For tmux
|
|
use 'tmux-plugins/vim-tmux-focus-events'
|
|
-- Git support
|
|
use {
|
|
'mhinz/vim-signify',
|
|
config = "require('modules.signify')"
|
|
}
|
|
use 'tpope/vim-fugitive'
|
|
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 {
|
|
'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')"
|
|
}
|
|
use 'Rasukarusan/nvim-block-paste'
|
|
-- LSP
|
|
use {
|
|
'neovim/nvim-lspconfig',
|
|
}
|
|
-- 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'
|
|
-- LISP
|
|
use { 'Olical/aniseed', tag = 'v3.14.0' }
|
|
use {
|
|
'Olical/conjure',
|
|
tag = 'v4.13.0',
|
|
ft = { 'fennel', 'racket' }
|
|
}
|
|
use {
|
|
'eraserhd/parinfer-rust',
|
|
run = 'cargo build --release',
|
|
ft = { 'fennel', 'racket', 'scheme' }
|
|
}
|
|
use 'wlangstroth/vim-racket'
|
|
use {
|
|
'https://gitlab.com/HiPhish/guile.vim'
|
|
}
|
|
-- 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)
|