We have an rcm `post-up` hook that installs plugins after running `rcup`. It does this by directly loading the `.vimrc.bundles` file, which means our regular `.vimrc` file is not sourced. This lead to `has_async` being undefined. By moving the definition into the `vimrc.bundles` we ensure it's available when that `post-up` hook runs. It remains available when needed in `vimrc` because we use it there *after* sourcing the bundles.
70 lines
1.8 KiB
Text
70 lines
1.8 KiB
Text
if &compatible
|
|
set nocompatible
|
|
end
|
|
|
|
" Remove declared plugins
|
|
function! s:UnPlug(plug_name)
|
|
if has_key(g:plugs, a:plug_name)
|
|
call remove(g:plugs, a:plug_name)
|
|
endif
|
|
endfunction
|
|
command! -nargs=1 UnPlug call s:UnPlug(<args>)
|
|
|
|
" Shim command and function to allow migration from Vundle to vim-plug.
|
|
function! VundleToPlug(vundle_command, arg, ...)
|
|
echom "You are using Vundle's `".a:vundle_command."` command to declare plugins. Dotfiles now uses vim-plug for plugin management. Please rename uses of `".a:vundle_command."` to `Plug`. Plugin was '".a:arg."'."
|
|
let vim_plug_options = {}
|
|
|
|
if a:0 > 0
|
|
if has_key(a:1, 'name')
|
|
let name = a:1.name
|
|
let vim_plug_options.dir = "$HOME/.vim/bundle/".a:1.name
|
|
endif
|
|
|
|
if has_key(a:1, 'rtp')
|
|
let vim_plug_options.rtp = a:1.rtp
|
|
endif
|
|
endif
|
|
|
|
Plug a:arg, vim_plug_options
|
|
endfunction
|
|
|
|
com! -nargs=+ -bar Plugin call VundleToPlug("Plugin", <args>)
|
|
com! -nargs=+ -bar Bundle call VundleToPlug("Bundle", <args>)
|
|
|
|
let g:has_async = v:version >= 800 || has('nvim')
|
|
|
|
call plug#begin('~/.vim/bundle')
|
|
|
|
" Define bundles via Github repos
|
|
Plug 'christoomey/vim-run-interactive'
|
|
Plug 'ctrlpvim/ctrlp.vim'
|
|
Plug 'elixir-lang/vim-elixir'
|
|
Plug 'fatih/vim-go'
|
|
Plug 'janko-m/vim-test'
|
|
Plug 'kchmck/vim-coffee-script'
|
|
Plug 'pangloss/vim-javascript'
|
|
Plug 'pbrisbin/vim-mkdir'
|
|
Plug 'slim-template/vim-slim'
|
|
Plug 'tpope/vim-bundler'
|
|
Plug 'tpope/vim-endwise'
|
|
Plug 'tpope/vim-eunuch'
|
|
Plug 'tpope/vim-fugitive'
|
|
Plug 'tpope/vim-projectionist'
|
|
Plug 'tpope/vim-rails'
|
|
Plug 'tpope/vim-rake'
|
|
Plug 'tpope/vim-repeat'
|
|
Plug 'tpope/vim-rhubarb'
|
|
Plug 'tpope/vim-surround'
|
|
Plug 'vim-ruby/vim-ruby'
|
|
Plug 'vim-scripts/tComment'
|
|
|
|
if g:has_async
|
|
Plug 'w0rp/ale'
|
|
endif
|
|
|
|
if filereadable(expand("~/.vimrc.bundles.local"))
|
|
source ~/.vimrc.bundles.local
|
|
endif
|
|
|
|
call plug#end()
|