125 lines
3 KiB
Lua
125 lines
3 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'
|
|
-- Search
|
|
use {
|
|
'junegunn/fzf',
|
|
run = './install --bin'
|
|
}
|
|
use 'junegunn/fzf.vim'
|
|
use 'wincent/ferret'
|
|
use 'bronson/vim-visual-star-search'
|
|
-- Remove extraneous whitespace when edit mode is exited
|
|
use 'ntpeters/vim-better-whitespace'
|
|
-- Manage Project sessions
|
|
use 'thaerkh/vim-workspace'
|
|
-- For autocompletion
|
|
use 'hrsh7th/nvim-compe'
|
|
-- Git support
|
|
use 'mhinz/vim-signify'
|
|
use 'tpope/vim-fugitive'
|
|
use 'rhysd/git-messenger.vim'
|
|
use 'whiteinge/diffconflicts'
|
|
use 'sindrets/diffview.nvim'
|
|
-- Boost vim command line mode
|
|
use 'vim-utils/vim-husk'
|
|
-- Formatting
|
|
use {
|
|
'sbdchd/neoformat',
|
|
cmd = 'Neoformat'
|
|
}
|
|
-- Run things async
|
|
use 'hauleth/asyncdo.vim'
|
|
-- Quickfix
|
|
use 'yssl/QFEnter'
|
|
use 'ronakg/quickr-cscope.vim'
|
|
use 'milkypostman/vim-togglelist'
|
|
use 'chengzeyi/fzf-preview.vim'
|
|
-- Text Object plugins
|
|
use {
|
|
'wellle/targets.vim',
|
|
'tpope/vim-surround',
|
|
'tommcdo/vim-exchange',
|
|
'chaoren/vim-wordmotion',
|
|
'kana/vim-textobj-user',
|
|
'kana/vim-textobj-indent',
|
|
'kana/vim-textobj-entire',
|
|
'glts/vim-textobj-indblock',
|
|
'idbrii/textobj-word-column.vim',
|
|
'danidiaz/vim-textobj-do-block'
|
|
}
|
|
-- Tim pope essentials
|
|
use {
|
|
'tpope/vim-commentary',
|
|
'tpope/vim-repeat',
|
|
'tpope/vim-sleuth'
|
|
}
|
|
-- Show indentation levels
|
|
use 'Yggdroot/indentLine'
|
|
-- Directory viewer
|
|
use 'justinmk/vim-dirvish'
|
|
-- Show leader key bindings
|
|
use 'liuchengxu/vim-which-key'
|
|
-- Toggle terminal
|
|
use 'voldikss/vim-floaterm'
|
|
-- Take care of sudo
|
|
use 'lambdalisue/suda.vim'
|
|
-- Alignment
|
|
use 'junegunn/vim-easy-align'
|
|
use 'nvim-lua/plenary.nvim'
|
|
use {
|
|
'jose-elias-alvarez/nvim-lsp-ts-utils',
|
|
requires = { 'jose-elias-alvarez/null-ls.nvim' }
|
|
}
|
|
-- LSP
|
|
use {
|
|
'neovim/nvim-lspconfig',
|
|
'ray-x/lsp_signature.nvim',
|
|
}
|
|
-- Language support & syntax highlighting
|
|
-- Coq
|
|
use {
|
|
'whonore/Coqtail',
|
|
'jlapolla/vim-coq-plugin'
|
|
}
|
|
-- Haskell
|
|
use 'neovimhaskell/haskell-vim'
|
|
-- For C, Lua and Rust
|
|
use {
|
|
'nvim-treesitter/nvim-treesitter-textobjects',
|
|
requires = { 'nvim-treesitter/nvim-treesitter' },
|
|
config = "require('treesitter')",
|
|
}
|
|
use 'nvim-treesitter/playground'
|
|
-- All writing needs
|
|
use 'lervag/vimtex'
|
|
use 'vim-pandoc/vim-pandoc'
|
|
use 'vim-pandoc/vim-pandoc-syntax'
|
|
-- Dhall & nix
|
|
use 'vmchale/dhall-vim'
|
|
-- Other syntax highlighting support
|
|
use 'inkarkat/SyntaxAttr.vim'
|
|
-- For statusline
|
|
use {
|
|
'glepnir/galaxyline.nvim',
|
|
requires = { 'kyazdani42/nvim-web-devicons' }
|
|
}
|
|
-- Marks and registers
|
|
use {
|
|
'kshenoy/vim-signature',
|
|
'gennaro-tedesco/nvim-peekup'
|
|
}
|
|
-- Snippets
|
|
use {
|
|
'rafamadriz/friendly-snippets',
|
|
'hrsh7th/vim-vsnip'
|
|
}
|
|
end
|
|
|
|
return require('packer').startup(init)
|