We have been mostly relying on diffconflicts plugin to resolve merge conflicts. For complex merge conflicts, it becomes difficult to understand which conflict hunk to pick. The syntax highlighting also stopped taking effect due to treesitter probably. So just drop this. Introducing a mapping to jump among conflicts would be helpful. We let the syntax highlighting entries in our color scheme be, just in case we decide to revisit this.
173 lines
3.8 KiB
Lua
173 lines
3.8 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',
|
|
'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'
|
|
-- 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'
|
|
use 'LnL7/vim-nix'
|
|
-- 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 'georgewitteman/vim-fish'
|
|
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)
|