VIM__SOURCE_TARGET='https://github.com/vim/vim.git' VIM__LOCAL_PATH="$HOME/.packages/vim" function VIM__COMPILE_FROM_SOURCE() { STATUS 'setting up vim' [ -d $VIM__LOCAL_PATH ] && { USER_PROMPT 'vim already compiled; update? [y/N]' READ_K yn [[ $yn =~ [^yY] ]] && return 0 cd $VIM__LOCAL_PATH CHECK 'updating vim to latest' git pull >>$LOG 2>&1 \ && OK || { WARN 'unable to update vim'; return 1; } } || { CHECK 'getting vim source' git clone $VIM__SOURCE_TARGET $VIM__LOCAL_PATH >>$LOG 2>&1 \ && OK || { WARN 'unable to download vim'; return 1; } } cd $VIM__LOCAL_PATH CHECK 'configuring vim' ./configure \ --with-features=huge \ --enable-cscope \ --enable-gtk2-check \ --enable-gtk3-check \ --enable-gui=auto \ --enable-luainterp=yes \ --enable-perlinterp=yes \ --enable-python3interp=yes \ --enable-rubyinterp=yes \ --enable-terminal \ >>$LOG 2>&1 && OK || { WARN; return 1; } CHECK 'building vim' sudo make >>$LOG 2>&1 && OK || { WARN; return 1; } CHECK 'installing vim' sudo make install >>$LOG 2>&1 && OK || WARN }