dotfiles/nvim/.config/nvim/init.vim
2020-10-10 13:39:54 +05:30

111 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 'ntpeters/vim-better-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'
" 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