updated vim installer
This commit is contained in:
41
setup/vim/compile-from-source.zsh
Normal file
41
setup/vim/compile-from-source.zsh
Normal file
@ -0,0 +1,41 @@
|
||||
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
|
||||
}
|
@ -1,10 +1,16 @@
|
||||
source "$DOTWRYN_PATH/setup/vim/compile-from-source.zsh"
|
||||
|
||||
#####################################################################
|
||||
|
||||
function VIM__SETUP() {
|
||||
STATUS 'starting vim setup'
|
||||
VIM__COMPILE_FROM_SOURCE
|
||||
VIM__SOURCE_RC
|
||||
VIM__SET_LOCAL_CONFIG
|
||||
VIM__UPDATE_COLORSCHEMES
|
||||
VIM__INSTALL_VUNDLE_PLUGINS
|
||||
VIM__CREATE_PANE_DEFAULT_APP
|
||||
STATUS 'finished vim setup'
|
||||
}
|
||||
|
||||
VIM__VUNDLE_TARGET='https://github.com/VundleVim/Vundle.vim.git'
|
||||
@ -71,10 +77,24 @@ function VIM__INSTALL_VUNDLE_PLUGINS() {
|
||||
cd $PREV_DIR >>$LOG 2>&1
|
||||
}
|
||||
|
||||
CHECK 'installing vundle plugins'
|
||||
STATUS 'installing Vundle.vim plugins'
|
||||
vim +PluginInstall +qall \
|
||||
&& OK || WARN
|
||||
&& SUCCESS 'successfully installed Vundle.vim plugins' \
|
||||
|| WARN 'failed to install one or more Vundle.vim plugins' \
|
||||
;
|
||||
|
||||
STATUS 'building plugins'
|
||||
$DOTWRYN_PATH/bin/vim/rebuild_plugins
|
||||
CHECK 'building plugins (this may take a minute)'
|
||||
$DOTWRYN_PATH/bin/vim/rebuild_plugins >>$LOG 2>&1\
|
||||
&& OK || WARN 'retry plugin build manually'
|
||||
}
|
||||
|
||||
function VIM__CREATE_PANE_DEFAULT_APP() {
|
||||
which vim | grep "$HOME/.local/bin/vim" && return 0
|
||||
|
||||
CHECK 'updating vim to open in panes by default'
|
||||
{
|
||||
echo '#!/bin/sh'
|
||||
echo "exec $(which vim) -p "'$@'
|
||||
} > "$HOME/.local/bin/vim" && OK || WARN
|
||||
chmod +x "$HOME/.local/bin/vim"
|
||||
}
|
||||
|
Reference in New Issue
Block a user