mirror of
https://github.com/SpaceVim/SpaceVim.git
synced 2025-01-27 12:50:04 +08:00
56 lines
1.5 KiB
Bash
56 lines
1.5 KiB
Bash
|
install_vim() {
|
||
|
local URL=https://github.com/vim/vim
|
||
|
local tag=$1
|
||
|
local ext=$([[ $tag == "HEAD" ]] && echo "" || echo "-b $tag")
|
||
|
local tmp="$(mktemp -d)"
|
||
|
local out="$HOME/cache/vim-$tag"
|
||
|
local ncpu=$(awk '/^processor/{n+=1}END{print n}' /proc/cpuinfo)
|
||
|
git clone --depth 1 --single-branch $ext $URL $tmp
|
||
|
cd $tmp
|
||
|
./configure --prefix=$out \
|
||
|
--enable-fail-if-missing \
|
||
|
--with-features=huge \
|
||
|
--enable-pythoninterp \
|
||
|
--enable-python3interp \
|
||
|
--enable-luainterp
|
||
|
make -j$ncpu
|
||
|
make install
|
||
|
ln -s $out $HOME/vim
|
||
|
}
|
||
|
|
||
|
install_nvim() {
|
||
|
local URL=https://github.com/neovim/neovim
|
||
|
local tag=$1
|
||
|
local ext=$([[ $tag == "HEAD" ]] && echo "" || echo "-b $tag")
|
||
|
local tmp="$(mktemp -d)"
|
||
|
local out="$HOME/cache/nvim-$tag"
|
||
|
local ncpu=$(awk '/^processor/{n+=1}END{print n}' /proc/cpuinfo)
|
||
|
git clone --depth 1 --single-branch $ext $URL $tmp
|
||
|
cd $tmp
|
||
|
make deps
|
||
|
make -j$ncpu \
|
||
|
CMAKE_BUILD_TYPE=Release \
|
||
|
CMAKE_EXTRA_FLAGS="-DTRAVIS_CI_BUILD=ON -DCMAKE_INSTALL_PREFIX:PATH=$out"
|
||
|
make install
|
||
|
python -m pip install --user neovim
|
||
|
python3 -m pip install --user neovim
|
||
|
ln -sf $out $HOME/vim
|
||
|
}
|
||
|
|
||
|
install() {
|
||
|
local vim=$1
|
||
|
local tag=$2
|
||
|
|
||
|
[[ -d $HOME/vim ]] && rm -f $HOME/vim
|
||
|
if [[ $tag != "HEAD" ]] && [[ -d "$HOME/cache/$vim-$tag" ]]; then
|
||
|
echo "Use a cached version '$HOME/cache/$vim-$tag'."
|
||
|
ln -sf $HOME/cache/$vim-$tag $HOME/vim
|
||
|
return
|
||
|
fi
|
||
|
if [[ $vim == "nvim" ]]; then
|
||
|
install_nvim $tag
|
||
|
else
|
||
|
install_vim $tag
|
||
|
fi
|
||
|
}
|