dotfiles/nvim/.config/nvim/init.vim
Sanchayan Maity d04c8675f9 nvim: Switch back to gina dropping fugitive
The only purposes we have been using fugitive for is status and commit
which should be equally comfortable with gina. Gina log is really
instantaneous even on big repositories like Linux while fugitive just
freezes vim. For handling hunks, merge and rebase conflicts we anyways
rely on the other plugins.

We use edita so that applications which use $EDITOR internally can work
inside neovim terminal without opening another instance which does not
work with the already running instance. This is required for things like
interactive rebase. See below issue.
https://github.com/lambdalisue/gina.vim/issues/276

We drop fzf-checkout as it isn't that useful anymore since gina allows
easy checkouts for branch or tags easily.
2020-10-06 17:43:02 +05:30

113 lines
3 KiB
VimL

call plug#begin('~/.config/nvim/plugged')
" Vertical Motion
Plug 'justinmk/vim-sneak'
" Search
Plug 'junegunn/fzf', { 'do': { -> fzf#install() } }
Plug 'junegunn/fzf.vim'
Plug 'PeterRincker/vim-searchlight'
Plug 'wincent/ferret'
Plug 'lambdalisue/reword.vim'
" Remove extraneous whitespace when edit mode is exited
Plug 'axelf4/vim-strip-trailing-whitespace'
" Manage Project sessions
Plug 'thaerkh/vim-workspace'
" For autocompletion
Plug 'nvim-lua/completion-nvim'
Plug 'steelsojka/completion-buffers'
" For tmux
Plug 'tmux-plugins/vim-tmux-focus-events'
" Git support
Plug 'lambdalisue/gina.vim'
Plug 'rhysd/git-messenger.vim'
Plug 'mhinz/vim-signify'
Plug 'rhysd/conflict-marker.vim'
Plug 'salcode/vim-interactive-rebase-reverse'
" Boost vim command line mode
Plug 'vim-utils/vim-husk'
" Rainbow Parentheses
Plug 'luochen1990/rainbow'
" Formatting
Plug 'sbdchd/neoformat'
" Run things async
Plug 'hauleth/asyncdo.vim'
" Quickfix
Plug 'ronakg/quickr-cscope.vim'
Plug 'milkypostman/vim-togglelist'
Plug 'yssl/QFEnter'
Plug 'chengzeyi/fzf-preview.vim'
" Text Object plugins
Plug 'wellle/targets.vim'
Plug 'tpope/vim-surround'
Plug 'coderifous/textobj-word-column.vim'
Plug 'tommcdo/vim-exchange'
Plug 'chaoren/vim-wordmotion'
" Tim pope essentials
Plug 'tpope/vim-commentary'
Plug 'tpope/vim-repeat'
Plug 'tpope/vim-sleuth'
" Show indentation levels
Plug 'Yggdroot/indentLine'
" Smooth scrolling
Plug 'psliwka/vim-smoothie'
" Scrollbar
Plug 'Xuyuanp/scrollbar.nvim'
" Directory viewer
Plug 'justinmk/vim-dirvish'
" Handle line & column jump specifications as found in stack traces
Plug 'wsdjeg/vim-fetch'
" Show leader key bindings
Plug 'liuchengxu/vim-which-key'
" Clipboard
Plug 'christoomey/vim-system-copy'
" Toggle terminal
Plug 'voldikss/vim-floaterm'
Plug 'lambdalisue/edita.vim'
" Take care of sudo
Plug 'lambdalisue/suda.vim'
" LSP
Plug 'neovim/nvim-lspconfig'
Plug 'nvim-lua/diagnostic-nvim'
Plug 'nvim-lua/lsp-status.nvim'
" Language support & syntax highlighting
" Haskell
Plug 'neovimhaskell/haskell-vim'
Plug 'Twinside/vim-hoogle', { 'for': 'haskell' }
Plug 'godlygeek/tabular', { 'for': 'haskell' }
Plug 'ndmitchell/ghcid', { 'rtp': 'plugins/nvim' }
" For C, Lua and Rust
Plug 'nvim-treesitter/nvim-treesitter'
" Purescript
Plug 'purescript-contrib/purescript-vim'
" Erlang
Plug 'vim-erlang/vim-erlang-runtime', { 'for': 'erlang' }
Plug 'vim-erlang/vim-erlang-tags', { 'for': 'erlang' }
Plug 'vim-erlang/vim-erlang-omnicomplete', { 'for': 'erlang' }
Plug 'vim-erlang/vim-erlang-compiler', { 'for': 'erlang' }
" LaTeX
Plug 'lervag/vimtex'
" Dhall & nix
Plug 'vmchale/dhall-vim'
Plug 'LnL7/vim-nix'
" Other syntax highlighting support
Plug 'georgewitteman/vim-fish'
Plug 'elzr/vim-json'
Plug 'lifepillar/pgsql.vim'
Plug 'mtdl9/vim-log-highlighting'
Plug 'martinda/Jenkinsfile-vim-syntax'
call plug#end()
let g:vim_home = get(g:, 'vim_home', expand('~/.config/nvim/'))
let config_list = [
\ 'autocmd.vim',
\ 'config.vim',
\ 'keymappings.vim',
\ 'plugin_settings.vim',
\]
for files in config_list
for f in glob(g:vim_home.files, 1, 1)
exec 'source' f
endfor
endfor