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 'rhysd/git-messenger.vim' Plug 'tpope/vim-fugitive' Plug 'mhinz/vim-signify' Plug 'rhysd/conflict-marker.vim' Plug 'whiteinge/diffconflicts' Plug 'salcode/vim-interactive-rebase-reverse' Plug 'stsewd/fzf-checkout.vim' " 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' " 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' " 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' " 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