Sanchayan Maity
91be84b9d7
With most of our operations now being done through fzf + git command line or lazygit, we primarily only require the log & blame facilities. The blame interface in Gina is confusing. This time however, we include some nice helper functions of our own.
171 lines
3.9 KiB
Lua
171 lines
3.9 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 {
|
|
'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 {
|
|
'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 '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'
|
|
-- 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)
|