mirror of
https://github.com/amix/vimrc
synced 2025-06-16 01:25:00 +08:00
Added not added new plugin files
This commit is contained in:
112
sources_non_forked/vim-go/scripts/install-vim
Normal file
112
sources_non_forked/vim-go/scripts/install-vim
Normal file
@ -0,0 +1,112 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Install and setup a Vim or Neovim for running tests.
|
||||
# This should work on both Travis and people's desktop computers, and be 100%
|
||||
# independent from any system installed Vim.
|
||||
#
|
||||
# It will echo the full path to a Vim binary, e.g.:
|
||||
# /some/path/src/vim
|
||||
|
||||
set -euC
|
||||
|
||||
vimgodir=$(cd -P "$(dirname "$0")/.." > /dev/null && pwd)
|
||||
cd "$vimgodir"
|
||||
|
||||
vim=${1:-}
|
||||
|
||||
case "$vim" in
|
||||
"vim-7.4")
|
||||
# This is what the most recent Ubuntu LTS (16.04) ships with.
|
||||
tag="v7.4.1689"
|
||||
giturl="https://github.com/vim/vim"
|
||||
;;
|
||||
|
||||
"vim-8.0")
|
||||
# This follows the version in Arch Linux. Vim's master branch isn't always
|
||||
# stable, and we don't want to have the build fail because Vim introduced a
|
||||
# bug.
|
||||
tag="v8.0.1176"
|
||||
giturl="https://github.com/vim/vim"
|
||||
;;
|
||||
|
||||
"nvim")
|
||||
# Use latest stable version.
|
||||
tag="v0.2.0"
|
||||
giturl="https://github.com/neovim/neovim"
|
||||
;;
|
||||
|
||||
*)
|
||||
echo "unknown version: '${1:-}'"
|
||||
echo "First argument must be 'vim-7.4', 'vim-8.0', or 'nvim'."
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
srcdir="/tmp/vim-go-test/$1-src"
|
||||
installdir="/tmp/vim-go-test/$1-install"
|
||||
|
||||
# Use cached installdir.
|
||||
if [ -d "$installdir" ]; then
|
||||
echo "$installdir exists; skipping build."
|
||||
|
||||
# The ./scripts/test script relies on this.
|
||||
echo "installed to: $installdir"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
mkdir -p "$srcdir"
|
||||
cd "$srcdir"
|
||||
|
||||
# Neovim build requires more deps than Vim and is annoying, so we use the
|
||||
# binary.
|
||||
# 0.2.0 doesn't have a binary build for Linux, so we use 0.2.1-dev for now.
|
||||
if [ "$1" = "nvim" ]; then
|
||||
|
||||
# TODO: Use macOS binaries on macOS
|
||||
curl -Ls https://github.com/neovim/neovim/releases/download/nightly/nvim-linux64.tar.gz |
|
||||
tar xzf - -C /tmp/vim-go-test/
|
||||
mv /tmp/vim-go-test/nvim-linux64 /tmp/vim-go-test/nvim-install
|
||||
mkdir -p "$installdir/share/nvim/runtime/pack/vim-go/start"
|
||||
ln -s "$vimgodir" "$installdir/share/nvim/runtime/pack/vim-go/start/vim-go"
|
||||
|
||||
# Consistent paths makes calling things easier.
|
||||
mv "$installdir/bin/nvim" "$installdir/bin/vim"
|
||||
mkdir -p "$installdir/share/vim/vimgo/pack"
|
||||
ln -s "$installdir/share/nvim/runtime/pack/vim-go" "$installdir/share/vim/vimgo/pack/vim-go"
|
||||
|
||||
# Build Vim from source.
|
||||
else
|
||||
if [ -d "$srcdir/.git" ]; then
|
||||
echo "Skipping clone as $srcdir/.git exists"
|
||||
else
|
||||
echo "Cloning $tag from $giturl"
|
||||
git clone --branch "$tag" --depth 1 "$giturl" "$srcdir"
|
||||
fi
|
||||
|
||||
./configure --prefix="$installdir" --with-features=huge --disable-gui
|
||||
make install
|
||||
mkdir -p "$installdir/share/vim/vimgo/pack/vim-go/start"
|
||||
ln -s "$vimgodir" "$installdir/share/vim/vimgo/pack/vim-go/start/vim-go"
|
||||
fi
|
||||
|
||||
# Make sure all Go tools and other dependencies are installed.
|
||||
echo "Installing Go binaries"
|
||||
export GOPATH=$installdir
|
||||
export PATH=${GOPATH}/bin:$PATH
|
||||
"$vimgodir/scripts/run-vim" $vim +':silent :GoUpdateBinaries' +':qa'
|
||||
|
||||
echo "Installing lint tools"
|
||||
(
|
||||
mkdir -p "$installdir/share/vim/vimgo/pack/vim-go/start/"
|
||||
cd "$installdir/share/vim/vimgo/pack/vim-go/start/"
|
||||
[ -d "vim-vimhelplint" ] || git clone --depth 1 --quiet https://github.com/machakann/vim-vimhelplint
|
||||
[ -d "vim-vimlparser" ] || git clone --depth 1 --quiet https://github.com/ynkdir/vim-vimlparser
|
||||
[ -d "vim-vimlint" ] || git clone --depth 1 --quiet https://github.com/syngan/vim-vimlint
|
||||
)
|
||||
|
||||
# Don't really need source after successful install.
|
||||
rm -rf "$srcdir"
|
||||
|
||||
echo "installed to: $installdir"
|
||||
|
||||
# vim:ts=2:sts=2:sw=2:et
|
Reference in New Issue
Block a user