Summary: This change addresses an error that occurs when we've instructed vim to reference the wrong path for an existing FZF executable. Additional Details: In the previous approach, when checking if FZF has already been installed, we make the assumption that if FZF is `executable` it was installed via Homebrew. Then, based on that assumption, we set vim's `runtimepath` to reference the directory where Homebrew creates symlinks for installed packages (`/user/local/opt`). Because of this assumption, anyone that has FZF installed in a different directory, and available as an executable in their $PATH, attempting to use FZF within vim will result in an error. The reason vim errors is because `Plug` has instructed vim's `runtimepath` to look in the wrong location for FZF (in this case, we told vim to look for FZF within `/user/local/opt` when the FZF executable lives somewhere else). The revised approach still attempts to find an existing FZF package before proceeding with installing FZF.
56 lines
1.3 KiB
Text
56 lines
1.3 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>)
|
|
|
|
let g:has_async = v:version >= 800 || has('nvim')
|
|
|
|
call plug#begin('~/.vim/bundle')
|
|
|
|
" Define bundles via Github repos
|
|
Plug 'christoomey/vim-run-interactive'
|
|
|
|
" If fzf has already been installed via Homebrew, use the existing fzf
|
|
" Otherwise, install fzf. The `--all` flag makes fzf accessible outside of vim
|
|
if isdirectory("/usr/local/opt/fzf")
|
|
Plug '/usr/local/opt/fzf'
|
|
else
|
|
Plug 'junegunn/fzf', { 'dir': '~/.fzf', 'do': './install --all' }
|
|
endif
|
|
|
|
Plug 'junegunn/fzf.vim'
|
|
Plug 'elixir-lang/vim-elixir'
|
|
Plug 'fatih/vim-go'
|
|
Plug 'janko-m/vim-test'
|
|
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 'dense-analysis/ale'
|
|
endif
|
|
|
|
if filereadable(expand("~/.vimrc.bundles.local"))
|
|
source ~/.vimrc.bundles.local
|
|
endif
|
|
|
|
call plug#end()
|