Sanchayan Maity
04b2a511e1
Drop the syntax highlighting plugins for fish and nix and switch to treesitter. The ftdetect is taken from the respective plugins. We might need to add the indent specific scripts for fish and nix later since we are not enabling indent with treesitter.
170 lines
3.7 KiB
Lua
170 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 'wincent/ferret'
|
|
use 'lambdalisue/reword.vim'
|
|
use 'bronson/vim-visual-star-search'
|
|
-- 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')"
|
|
}
|
|
-- Git support
|
|
use {
|
|
'mhinz/vim-signify',
|
|
config = "require('modules.signify')"
|
|
}
|
|
use 'tpope/vim-fugitive'
|
|
use 'rhysd/git-messenger.vim'
|
|
use 'salcode/vim-interactive-rebase-reverse'
|
|
use 'whiteinge/diffconflicts'
|
|
use 'sindrets/diffview.nvim'
|
|
-- 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 'yssl/QFEnter'
|
|
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',
|
|
'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'
|
|
-- Directory viewer
|
|
use 'justinmk/vim-dirvish'
|
|
-- Show leader key bindings
|
|
use {
|
|
'liuchengxu/vim-which-key',
|
|
config = "require('modules.which_key')"
|
|
}
|
|
-- 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',
|
|
'ray-x/lsp_signature.nvim'
|
|
}
|
|
-- Language support & syntax highlighting
|
|
-- Coq
|
|
use {
|
|
'whonore/Coqtail',
|
|
'jlapolla/vim-coq-plugin'
|
|
}
|
|
-- 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'
|
|
-- LISP
|
|
use {
|
|
'Olical/conjure',
|
|
tag = 'v4.18.0',
|
|
ft = { 'fennel', 'racket', 'scheme' }
|
|
}
|
|
use {
|
|
'guns/vim-sexp',
|
|
'tpope/vim-sexp-mappings-for-regular-people',
|
|
ft = { 'fennel', 'racket', 'scheme' }
|
|
}
|
|
use 'wlangstroth/vim-racket'
|
|
-- Other syntax highlighting support
|
|
use 'inkarkat/SyntaxAttr.vim'
|
|
-- For statusline
|
|
use {
|
|
'glepnir/galaxyline.nvim',
|
|
config = "require('modules.statusline')",
|
|
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)
|