2018-01-27 01:07:02 +08:00
|
|
|
|
#!/usr/bin/env bash
|
|
|
|
|
|
|
|
|
|
#=============================================================================
|
|
|
|
|
# install.sh --- bootstrap script for SpaceVim
|
|
|
|
|
# Copyright (c) 2016-2017 Shidong Wang & Contributors
|
|
|
|
|
# Author: Shidong Wang < wsdjeg at 163.com >
|
|
|
|
|
# URL: https://spacevim.org
|
2018-02-15 22:25:03 +08:00
|
|
|
|
# License: GPLv3
|
2018-01-27 01:07:02 +08:00
|
|
|
|
#=============================================================================
|
|
|
|
|
|
2018-01-27 21:28:46 +08:00
|
|
|
|
# Init option {{{
|
2018-01-27 01:07:02 +08:00
|
|
|
|
Color_off='\033[0m' # Text Reset
|
|
|
|
|
|
2018-01-27 21:28:46 +08:00
|
|
|
|
# terminal color template {{{
|
2018-01-27 01:07:02 +08:00
|
|
|
|
# Regular Colors
|
2018-01-27 21:28:46 +08:00
|
|
|
|
Black='\033[0;30m' # Black
|
|
|
|
|
Red='\033[0;31m' # Red
|
|
|
|
|
Green='\033[0;32m' # Green
|
|
|
|
|
Yellow='\033[0;33m' # Yellow
|
|
|
|
|
Blue='\033[0;34m' # Blue
|
|
|
|
|
Purple='\033[0;35m' # Purple
|
|
|
|
|
Cyan='\033[0;36m' # Cyan
|
|
|
|
|
White='\033[0;37m' # White
|
|
|
|
|
|
|
|
|
|
# Bold
|
|
|
|
|
BBlack='\033[1;30m' # Black
|
|
|
|
|
BRed='\033[1;31m' # Red
|
|
|
|
|
BGreen='\033[1;32m' # Green
|
|
|
|
|
BYellow='\033[1;33m' # Yellow
|
|
|
|
|
BBlue='\033[1;34m' # Blue
|
|
|
|
|
BPurple='\033[1;35m' # Purple
|
|
|
|
|
BCyan='\033[1;36m' # Cyan
|
|
|
|
|
BWhite='\033[1;37m' # White
|
|
|
|
|
|
|
|
|
|
# Underline
|
|
|
|
|
UBlack='\033[4;30m' # Black
|
|
|
|
|
URed='\033[4;31m' # Red
|
|
|
|
|
UGreen='\033[4;32m' # Green
|
|
|
|
|
UYellow='\033[4;33m' # Yellow
|
|
|
|
|
UBlue='\033[4;34m' # Blue
|
|
|
|
|
UPurple='\033[4;35m' # Purple
|
|
|
|
|
UCyan='\033[4;36m' # Cyan
|
|
|
|
|
UWhite='\033[4;37m' # White
|
|
|
|
|
|
|
|
|
|
# Background
|
|
|
|
|
On_Black='\033[40m' # Black
|
|
|
|
|
On_Red='\033[41m' # Red
|
|
|
|
|
On_Green='\033[42m' # Green
|
|
|
|
|
On_Yellow='\033[43m' # Yellow
|
|
|
|
|
On_Blue='\033[44m' # Blue
|
|
|
|
|
On_Purple='\033[45m' # Purple
|
|
|
|
|
On_Cyan='\033[46m' # Cyan
|
|
|
|
|
On_White='\033[47m' # White
|
|
|
|
|
|
|
|
|
|
# High Intensity
|
|
|
|
|
IBlack='\033[0;90m' # Black
|
|
|
|
|
IRed='\033[0;91m' # Red
|
|
|
|
|
IGreen='\033[0;92m' # Green
|
|
|
|
|
IYellow='\033[0;93m' # Yellow
|
|
|
|
|
IBlue='\033[0;94m' # Blue
|
|
|
|
|
IPurple='\033[0;95m' # Purple
|
|
|
|
|
ICyan='\033[0;96m' # Cyan
|
|
|
|
|
IWhite='\033[0;97m' # White
|
|
|
|
|
|
|
|
|
|
# Bold High Intensity
|
|
|
|
|
BIBlack='\033[1;90m' # Black
|
|
|
|
|
BIRed='\033[1;91m' # Red
|
|
|
|
|
BIGreen='\033[1;92m' # Green
|
|
|
|
|
BIYellow='\033[1;93m' # Yellow
|
|
|
|
|
BIBlue='\033[1;94m' # Blue
|
|
|
|
|
BIPurple='\033[1;95m' # Purple
|
|
|
|
|
BICyan='\033[1;96m' # Cyan
|
|
|
|
|
BIWhite='\033[1;97m' # White
|
|
|
|
|
|
|
|
|
|
# High Intensity backgrounds
|
|
|
|
|
On_IBlack='\033[0;100m' # Black
|
|
|
|
|
On_IRed='\033[0;101m' # Red
|
|
|
|
|
On_IGreen='\033[0;102m' # Green
|
|
|
|
|
On_IYellow='\033[0;103m' # Yellow
|
|
|
|
|
On_IBlue='\033[0;104m' # Blue
|
|
|
|
|
On_IPurple='\033[0;105m' # Purple
|
|
|
|
|
On_ICyan='\033[0;106m' # Cyan
|
|
|
|
|
On_IWhite='\033[0;107m' # White
|
|
|
|
|
# }}}
|
2018-01-27 01:07:02 +08:00
|
|
|
|
|
2018-01-27 21:28:46 +08:00
|
|
|
|
# version
|
2019-11-04 22:00:58 +08:00
|
|
|
|
Version='1.3.0'
|
2018-01-27 01:07:02 +08:00
|
|
|
|
#System name
|
|
|
|
|
System="$(uname -s)"
|
|
|
|
|
|
2018-01-27 21:28:46 +08:00
|
|
|
|
# }}}
|
|
|
|
|
|
|
|
|
|
# need_cmd {{{
|
2018-01-27 01:07:02 +08:00
|
|
|
|
need_cmd () {
|
2018-01-27 16:38:19 +08:00
|
|
|
|
if ! hash "$1" &>/dev/null; then
|
2018-01-27 21:28:46 +08:00
|
|
|
|
error "需要 '$1' (找不到命令)"
|
2018-01-27 16:38:19 +08:00
|
|
|
|
exit 1
|
|
|
|
|
fi
|
2018-01-27 01:07:02 +08:00
|
|
|
|
}
|
2018-01-27 21:28:46 +08:00
|
|
|
|
# }}}
|
2018-01-27 01:07:02 +08:00
|
|
|
|
|
2018-01-27 21:28:46 +08:00
|
|
|
|
# success/info/error/warn {{{
|
2018-01-27 01:07:02 +08:00
|
|
|
|
msg() {
|
2018-01-27 16:38:19 +08:00
|
|
|
|
printf '%b\n' "$1" >&2
|
2018-01-27 01:07:02 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
success() {
|
2018-01-27 16:38:19 +08:00
|
|
|
|
msg "${Green}[✔]${Color_off} ${1}${2}"
|
2018-01-27 01:07:02 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
info() {
|
2018-01-27 21:28:46 +08:00
|
|
|
|
msg "${Blue}[➭]${Color_off} ${1}${2}"
|
2018-01-27 01:07:02 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
error() {
|
2018-01-27 16:38:19 +08:00
|
|
|
|
msg "${Red}[✘]${Color_off} ${1}${2}"
|
|
|
|
|
exit 1
|
2018-01-27 01:07:02 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
warn () {
|
2019-01-08 21:18:01 +08:00
|
|
|
|
msg "${Yellow}[⚠]${Color_off} ${1}${2}"
|
2018-01-27 01:07:02 +08:00
|
|
|
|
}
|
2018-01-27 21:28:46 +08:00
|
|
|
|
# }}}
|
|
|
|
|
|
|
|
|
|
# echo_with_color {{{
|
|
|
|
|
echo_with_color () {
|
2018-05-01 14:37:57 +08:00
|
|
|
|
printf '%b\n' "$1$2$Color_off" >&2
|
2018-01-27 21:28:46 +08:00
|
|
|
|
}
|
|
|
|
|
# }}}
|
2018-01-27 01:07:02 +08:00
|
|
|
|
|
2018-01-27 21:28:46 +08:00
|
|
|
|
# fetch_repo {{{
|
2018-01-27 01:07:02 +08:00
|
|
|
|
fetch_repo () {
|
2018-01-27 16:38:19 +08:00
|
|
|
|
if [[ -d "$HOME/.SpaceVim" ]]; then
|
2018-01-27 21:28:46 +08:00
|
|
|
|
info "正在更新 SpaceVim..."
|
|
|
|
|
cd "$HOME/.SpaceVim"
|
|
|
|
|
git pull
|
|
|
|
|
cd - > /dev/null 2>&1
|
|
|
|
|
success "SpaceVim 更新已完成"
|
2018-01-27 16:38:19 +08:00
|
|
|
|
else
|
2018-01-27 21:28:46 +08:00
|
|
|
|
info "正在安装 SpaceVim..."
|
2018-01-27 16:38:19 +08:00
|
|
|
|
git clone https://github.com/SpaceVim/SpaceVim.git "$HOME/.SpaceVim"
|
2018-01-27 21:28:46 +08:00
|
|
|
|
success "SpaceVim 安装已完成"
|
2018-01-27 16:38:19 +08:00
|
|
|
|
fi
|
2018-01-27 01:07:02 +08:00
|
|
|
|
}
|
2018-01-27 21:28:46 +08:00
|
|
|
|
# }}}
|
2018-01-27 01:07:02 +08:00
|
|
|
|
|
2018-01-27 21:28:46 +08:00
|
|
|
|
# install_vim {{{
|
2018-01-27 01:07:02 +08:00
|
|
|
|
install_vim () {
|
2018-01-27 16:38:19 +08:00
|
|
|
|
if [[ -f "$HOME/.vimrc" ]]; then
|
|
|
|
|
mv "$HOME/.vimrc" "$HOME/.vimrc_back"
|
|
|
|
|
success "备份 $HOME/.vimrc 至 $HOME/.vimrc_back"
|
|
|
|
|
fi
|
2018-01-27 01:07:02 +08:00
|
|
|
|
|
2018-01-27 16:38:19 +08:00
|
|
|
|
if [[ -d "$HOME/.vim" ]]; then
|
|
|
|
|
if [[ "$(readlink $HOME/.vim)" =~ \.SpaceVim$ ]]; then
|
2018-01-27 21:28:46 +08:00
|
|
|
|
success "已为 vim 安装了 SpaceVim"
|
2018-01-27 01:07:02 +08:00
|
|
|
|
else
|
2018-01-27 16:38:19 +08:00
|
|
|
|
mv "$HOME/.vim" "$HOME/.vim_back"
|
|
|
|
|
success "备份 $HOME/.vim 至 $HOME/.vim_back"
|
|
|
|
|
ln -s "$HOME/.SpaceVim" "$HOME/.vim"
|
2018-01-27 21:28:46 +08:00
|
|
|
|
success "已为 vim 安装了 SpaceVim"
|
2018-01-27 01:07:02 +08:00
|
|
|
|
fi
|
2018-01-27 16:38:19 +08:00
|
|
|
|
else
|
|
|
|
|
ln -s "$HOME/.SpaceVim" "$HOME/.vim"
|
2018-01-27 21:28:46 +08:00
|
|
|
|
success "已为 vim 安装了 SpaceVim"
|
2018-01-27 16:38:19 +08:00
|
|
|
|
fi
|
2018-01-27 01:07:02 +08:00
|
|
|
|
}
|
2018-01-27 21:28:46 +08:00
|
|
|
|
# }}}
|
2018-01-27 01:07:02 +08:00
|
|
|
|
|
2018-01-27 21:28:46 +08:00
|
|
|
|
# install_package_manager {{{
|
2018-01-27 01:07:02 +08:00
|
|
|
|
install_package_manager () {
|
2018-01-27 16:38:19 +08:00
|
|
|
|
if [[ ! -d "$HOME/.cache/vimfiles/repos/github.com/Shougo/dein.vim" ]]; then
|
|
|
|
|
info "正在安装 dein.vim"
|
|
|
|
|
git clone https://github.com/Shougo/dein.vim.git $HOME/.cache/vimfiles/repos/github.com/Shougo/dein.vim
|
2018-01-27 21:28:46 +08:00
|
|
|
|
success "dein.vim 安装已完成"
|
2018-01-27 16:38:19 +08:00
|
|
|
|
fi
|
2018-01-27 01:07:02 +08:00
|
|
|
|
}
|
2018-01-27 21:28:46 +08:00
|
|
|
|
# }}}
|
2018-01-27 01:07:02 +08:00
|
|
|
|
|
2018-01-27 21:28:46 +08:00
|
|
|
|
# install_neovim {{{
|
2018-01-27 01:07:02 +08:00
|
|
|
|
install_neovim () {
|
2018-01-27 21:28:46 +08:00
|
|
|
|
if [[ ! -d "$HOME/.config/" ]];then
|
|
|
|
|
mkdir "$HOME/.config/"
|
|
|
|
|
fi
|
2018-01-27 16:38:19 +08:00
|
|
|
|
if [[ -d "$HOME/.config/nvim" ]]; then
|
|
|
|
|
if [[ "$(readlink $HOME/.config/nvim)" =~ \.SpaceVim$ ]]; then
|
2018-01-27 21:28:46 +08:00
|
|
|
|
success "已为 neovim 安装了 SpaceVim"
|
2018-01-27 01:07:02 +08:00
|
|
|
|
else
|
2018-01-27 16:38:19 +08:00
|
|
|
|
mv "$HOME/.config/nvim" "$HOME/.config/nvim_back"
|
|
|
|
|
success "备份 $HOME/.config/nvim 至 $HOME/.config/nvim_back"
|
|
|
|
|
ln -s "$HOME/.SpaceVim" "$HOME/.config/nvim"
|
2018-01-27 21:28:46 +08:00
|
|
|
|
success "已为 neovim 安装了 SpaceVim"
|
2018-01-27 01:07:02 +08:00
|
|
|
|
fi
|
2018-01-27 16:38:19 +08:00
|
|
|
|
else
|
|
|
|
|
ln -s "$HOME/.SpaceVim" "$HOME/.config/nvim"
|
2018-01-27 21:28:46 +08:00
|
|
|
|
success "已为 neovim 安装了 SpaceVim"
|
2018-01-27 16:38:19 +08:00
|
|
|
|
fi
|
2018-01-27 01:07:02 +08:00
|
|
|
|
}
|
2018-01-27 21:28:46 +08:00
|
|
|
|
# }}}
|
2018-01-27 01:07:02 +08:00
|
|
|
|
|
2018-01-27 21:28:46 +08:00
|
|
|
|
# uninstall_vim {{{
|
2018-01-27 01:07:02 +08:00
|
|
|
|
uninstall_vim () {
|
2018-01-27 16:38:19 +08:00
|
|
|
|
if [[ -d "$HOME/.vim" ]]; then
|
|
|
|
|
if [[ "$(readlink $HOME/.vim)" =~ \.SpaceVim$ ]]; then
|
|
|
|
|
rm "$HOME/.vim"
|
2018-01-27 21:28:46 +08:00
|
|
|
|
success "已为 vim 卸载了 SpaceVim"
|
2018-01-27 16:38:19 +08:00
|
|
|
|
if [[ -d "$HOME/.vim_back" ]]; then
|
|
|
|
|
mv "$HOME/.vim_back" "$HOME/.vim"
|
2018-01-27 21:28:46 +08:00
|
|
|
|
success "从 $HOME/.vim_back 恢复了原始配置"
|
2018-01-27 16:38:19 +08:00
|
|
|
|
fi
|
2018-01-27 01:07:02 +08:00
|
|
|
|
fi
|
2018-01-27 16:38:19 +08:00
|
|
|
|
fi
|
|
|
|
|
if [[ -f "$HOME/.vimrc_back" ]]; then
|
|
|
|
|
mv "$HOME/.vimrc_back" "$HOME/.vimrc"
|
2018-01-27 21:28:46 +08:00
|
|
|
|
success "从 $HOME/.vimrc_back 恢复了原始配置"
|
2018-01-27 16:38:19 +08:00
|
|
|
|
fi
|
2018-01-27 01:07:02 +08:00
|
|
|
|
}
|
2018-01-27 21:28:46 +08:00
|
|
|
|
# }}}
|
2018-01-27 01:07:02 +08:00
|
|
|
|
|
2018-01-27 21:28:46 +08:00
|
|
|
|
# uninstall_neovim {{{
|
2018-01-27 01:07:02 +08:00
|
|
|
|
uninstall_neovim () {
|
2018-01-27 16:38:19 +08:00
|
|
|
|
if [[ -d "$HOME/.config/nvim" ]]; then
|
|
|
|
|
if [[ "$(readlink $HOME/.config/nvim)" =~ \.SpaceVim$ ]]; then
|
|
|
|
|
rm "$HOME/.config/nvim"
|
2018-01-27 21:28:46 +08:00
|
|
|
|
success "已为 neovim 卸载了 SpaceVim"
|
2018-01-27 16:38:19 +08:00
|
|
|
|
if [[ -d "$HOME/.config/nvim_back" ]]; then
|
|
|
|
|
mv "$HOME/.config/nvim_back" "$HOME/.config/nvim"
|
2018-01-27 21:28:46 +08:00
|
|
|
|
success "从 $HOME/.config/nvim_back 恢复了原始配置"
|
2018-01-27 16:38:19 +08:00
|
|
|
|
fi
|
2018-01-27 01:07:02 +08:00
|
|
|
|
fi
|
2018-01-27 16:38:19 +08:00
|
|
|
|
fi
|
2018-01-27 01:07:02 +08:00
|
|
|
|
}
|
2018-01-27 21:28:46 +08:00
|
|
|
|
# }}}
|
2018-01-27 01:07:02 +08:00
|
|
|
|
|
2018-01-27 21:28:46 +08:00
|
|
|
|
# check_requirements {{{
|
2018-01-27 01:07:02 +08:00
|
|
|
|
check_requirements () {
|
2018-01-27 21:28:46 +08:00
|
|
|
|
info "正在检测 SpaceVim 依赖环境..."
|
2018-01-27 16:38:19 +08:00
|
|
|
|
if hash "git" &>/dev/null; then
|
|
|
|
|
git_version=$(git --version)
|
2018-01-27 21:28:46 +08:00
|
|
|
|
success "检测 git 版本:${git_version}"
|
2018-01-27 16:38:19 +08:00
|
|
|
|
else
|
2018-01-27 21:28:46 +08:00
|
|
|
|
warn "缺少依赖:git"
|
2018-01-27 16:38:19 +08:00
|
|
|
|
fi
|
|
|
|
|
if hash "vim" &>/dev/null; then
|
2019-01-26 11:14:25 +08:00
|
|
|
|
is_vim8=$(vim --version | grep "Vi IMproved 8")
|
2018-01-27 16:38:19 +08:00
|
|
|
|
is_vim74=$(vim --version | grep "Vi IMproved 7.4")
|
|
|
|
|
if [ -n "$is_vim8" ]; then
|
2018-01-27 21:28:46 +08:00
|
|
|
|
success "检测到 Vim 版本: vim 8.0"
|
2018-01-27 16:38:19 +08:00
|
|
|
|
elif [ -n "$is_vim74" ]; then
|
2018-01-27 21:28:46 +08:00
|
|
|
|
success "检测到 Vim 版本: vim 7.4"
|
2018-01-27 01:07:02 +08:00
|
|
|
|
else
|
2018-01-27 16:38:19 +08:00
|
|
|
|
if hash "nvim" &>/dev/null; then
|
2018-01-27 21:28:46 +08:00
|
|
|
|
success "检测到 Neovim 已安装成功"
|
2018-01-27 16:38:19 +08:00
|
|
|
|
else
|
2018-01-27 21:28:46 +08:00
|
|
|
|
warn "SpaceVim 需要 Neovim 或者 vim 7.4 及更高版本"
|
2018-01-27 16:38:19 +08:00
|
|
|
|
fi
|
|
|
|
|
fi
|
|
|
|
|
if hash "nvim" &>/dev/null; then
|
2018-01-27 21:28:46 +08:00
|
|
|
|
success "Check Requirements: nvim"
|
|
|
|
|
success "检测到 Neovim 已安装成功"
|
2018-01-27 01:07:02 +08:00
|
|
|
|
fi
|
2018-01-27 16:38:19 +08:00
|
|
|
|
else
|
|
|
|
|
if hash "nvim" &>/dev/null; then
|
2018-01-27 21:28:46 +08:00
|
|
|
|
success "检测到 Neovim 已安装成功"
|
2018-01-27 01:07:02 +08:00
|
|
|
|
else
|
2018-01-27 21:28:46 +08:00
|
|
|
|
warn "SpaceVim 需要 Neovim 或者 vim 7.4 及更高版本"
|
2018-01-27 01:07:02 +08:00
|
|
|
|
fi
|
2018-01-27 16:38:19 +08:00
|
|
|
|
fi
|
2018-01-27 21:28:46 +08:00
|
|
|
|
info "正在检测终端真色支持..."
|
2018-01-27 16:38:19 +08:00
|
|
|
|
sh -c "$(curl -fsSL https://raw.githubusercontent.com/JohnMorales/dotfiles/master/colors/24-bit-color.sh)"
|
2018-01-27 01:07:02 +08:00
|
|
|
|
}
|
2018-01-27 21:28:46 +08:00
|
|
|
|
# }}}
|
2018-01-27 01:07:02 +08:00
|
|
|
|
|
2018-01-27 21:28:46 +08:00
|
|
|
|
# usage {{{
|
2018-01-27 01:07:02 +08:00
|
|
|
|
usage () {
|
2018-01-27 21:28:46 +08:00
|
|
|
|
echo_with_color ${BWhite} "SpaceVim 安装脚本 : V ${Version}"
|
|
|
|
|
echo_with_color ""
|
|
|
|
|
echo_with_color ${Color_off} " 这是 SpaceVim 初始化脚本,可用于定制安装、更新及卸载 SpaceVim。"
|
|
|
|
|
echo_with_color ""
|
|
|
|
|
echo_with_color "使用"
|
|
|
|
|
echo_with_color ""
|
|
|
|
|
echo_with_color " curl -sLf https://spacevim.org/cn/install.sh | bash -s -- [选项] [对象]"
|
|
|
|
|
echo_with_color ""
|
|
|
|
|
echo_with_color "所有选项"
|
|
|
|
|
echo_with_color ""
|
|
|
|
|
echo_with_color " -i, --install 为 vim 和 neovim 安装 SpaceVim"
|
|
|
|
|
echo_with_color " -v, --version 显示当前安装脚本的版本"
|
|
|
|
|
echo_with_color " -u, --uninstall 卸载 SpaceVim"
|
|
|
|
|
echo_with_color " -c, --checkRequirements 检测环境依赖"
|
|
|
|
|
echo_with_color ""
|
|
|
|
|
echo_with_color "使用示例"
|
|
|
|
|
echo_with_color ""
|
|
|
|
|
echo_with_color " 默认同时为 vim 和 neovim 安装 SpaceVim"
|
|
|
|
|
echo_with_color ""
|
|
|
|
|
echo_with_color " curl -sLf https://spacevim.org/cn/install.sh | bash"
|
|
|
|
|
echo_with_color ""
|
|
|
|
|
echo_with_color " 只为 vim 或者 neovim 单独安装 SpaceVim"
|
|
|
|
|
echo_with_color ""
|
|
|
|
|
echo_with_color " curl -sLf https://spacevim.org/cn/install.sh | bash -s -- --install vim"
|
|
|
|
|
echo_with_color " curl -sLf https://spacevim.org/cn/install.sh | bash -s -- --install neovim"
|
|
|
|
|
echo_with_color ""
|
|
|
|
|
echo_with_color " 卸载 SpaceVim"
|
|
|
|
|
echo_with_color ""
|
|
|
|
|
echo_with_color " curl -sLf https://spacevim.org/cn/install.sh | bash -s -- --uninstall"
|
2018-01-27 01:07:02 +08:00
|
|
|
|
}
|
2018-01-27 21:28:46 +08:00
|
|
|
|
# }}}
|
|
|
|
|
|
|
|
|
|
# install_done {{{
|
2018-01-27 01:07:02 +08:00
|
|
|
|
|
2018-01-27 21:28:46 +08:00
|
|
|
|
install_done () {
|
|
|
|
|
echo_with_color ${Yellow} ""
|
2018-01-27 22:18:18 +08:00
|
|
|
|
echo_with_color ${Yellow} "安装已完成!"
|
2018-01-27 21:28:46 +08:00
|
|
|
|
echo_with_color ${Yellow} "=============================================================================="
|
2018-01-27 22:18:18 +08:00
|
|
|
|
echo_with_color ${Yellow} "== 打开 Vim 或 Neovim,所有插件将会自动安装 =="
|
2018-01-27 21:28:46 +08:00
|
|
|
|
echo_with_color ${Yellow} "=============================================================================="
|
|
|
|
|
echo_with_color ${Yellow} ""
|
2018-01-27 22:18:18 +08:00
|
|
|
|
echo_with_color ${Yellow} "感谢支持 SpaceVim,欢迎反馈!"
|
2018-01-27 21:28:46 +08:00
|
|
|
|
echo_with_color ${Yellow} ""
|
|
|
|
|
}
|
2018-01-27 01:07:02 +08:00
|
|
|
|
|
2018-01-27 21:28:46 +08:00
|
|
|
|
# }}}
|
2018-01-27 01:07:02 +08:00
|
|
|
|
|
2018-01-27 21:28:46 +08:00
|
|
|
|
# welcome {{{
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
welcome () {
|
2018-01-27 22:18:18 +08:00
|
|
|
|
echo_with_color ${Yellow} " /###### /## /##/## "
|
|
|
|
|
echo_with_color ${Yellow} " /##__ ## | ## | #|__/ "
|
2018-01-27 21:28:46 +08:00
|
|
|
|
echo_with_color ${Yellow} " | ## \__/ /###### /###### /####### /######| ## | ##/##/######/#### "
|
|
|
|
|
echo_with_color ${Yellow} " | ###### /##__ ##|____ ##/##_____//##__ #| ## / ##| #| ##_ ##_ ##"
|
|
|
|
|
echo_with_color ${Yellow} " \____ #| ## \ ## /######| ## | ########\ ## ##/| #| ## \ ## \ ##"
|
|
|
|
|
echo_with_color ${Yellow} " /## \ #| ## | ##/##__ #| ## | ##_____/ \ ###/ | #| ## | ## | ##"
|
|
|
|
|
echo_with_color ${Yellow} " | ######| #######| ######| ######| ####### \ #/ | #| ## | ## | ##"
|
|
|
|
|
echo_with_color ${Yellow} " \______/| ##____/ \_______/\_______/\_______/ \_/ |__|__/ |__/ |__/"
|
|
|
|
|
echo_with_color ${Yellow} " | ## "
|
|
|
|
|
echo_with_color ${Yellow} " | ## "
|
|
|
|
|
echo_with_color ${Yellow} " |__/ "
|
2019-04-08 07:46:56 +08:00
|
|
|
|
echo_with_color ${Yellow} " 版本 : ${Version} 中文官网 : https://spacevim.org/cn/ "
|
2018-01-27 21:28:46 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
# }}}
|
|
|
|
|
|
|
|
|
|
# download_font {{{
|
2018-01-27 01:07:02 +08:00
|
|
|
|
download_font () {
|
2018-01-27 16:38:19 +08:00
|
|
|
|
url="https://raw.githubusercontent.com/wsdjeg/DotFiles/master/local/share/fonts/$1"
|
|
|
|
|
path="$HOME/.local/share/fonts/$1"
|
|
|
|
|
if [[ -f "$path" ]]
|
|
|
|
|
then
|
2018-01-27 22:18:18 +08:00
|
|
|
|
success "已下载 $1"
|
2018-01-27 16:38:19 +08:00
|
|
|
|
else
|
2018-01-27 22:18:18 +08:00
|
|
|
|
info "正在下载 $1"
|
2018-01-27 21:28:46 +08:00
|
|
|
|
curl -s -o "$path" "$url"
|
2018-01-27 22:18:18 +08:00
|
|
|
|
success "已下载 $1"
|
2018-01-27 16:38:19 +08:00
|
|
|
|
fi
|
2018-01-27 01:07:02 +08:00
|
|
|
|
}
|
|
|
|
|
|
2018-01-27 21:28:46 +08:00
|
|
|
|
# }}}
|
|
|
|
|
|
|
|
|
|
# install_fonts {{{
|
2018-01-27 01:07:02 +08:00
|
|
|
|
install_fonts () {
|
2018-01-27 16:38:19 +08:00
|
|
|
|
if [[ ! -d "$HOME/.local/share/fonts" ]]; then
|
|
|
|
|
mkdir -p $HOME/.local/share/fonts
|
|
|
|
|
fi
|
|
|
|
|
download_font "DejaVu Sans Mono Bold Oblique for Powerline.ttf"
|
|
|
|
|
download_font "DejaVu Sans Mono Bold for Powerline.ttf"
|
|
|
|
|
download_font "DejaVu Sans Mono Oblique for Powerline.ttf"
|
|
|
|
|
download_font "DejaVu Sans Mono for Powerline.ttf"
|
|
|
|
|
download_font "DroidSansMonoForPowerlinePlusNerdFileTypesMono.otf"
|
|
|
|
|
download_font "Ubuntu Mono derivative Powerline Nerd Font Complete.ttf"
|
|
|
|
|
download_font "WEBDINGS.TTF"
|
|
|
|
|
download_font "WINGDNG2.ttf"
|
|
|
|
|
download_font "WINGDNG3.ttf"
|
|
|
|
|
download_font "devicons.ttf"
|
|
|
|
|
download_font "mtextra.ttf"
|
|
|
|
|
download_font "symbol.ttf"
|
|
|
|
|
download_font "wingding.ttf"
|
2018-01-27 22:18:18 +08:00
|
|
|
|
info "正在构建字体缓存,请稍等..."
|
2018-01-27 16:38:19 +08:00
|
|
|
|
if [ $System == "Darwin" ];then
|
|
|
|
|
if [ ! -e "$HOME/Library/Fonts" ];then
|
|
|
|
|
mkdir "$HOME/Library/Fonts"
|
|
|
|
|
fi
|
|
|
|
|
cp $HOME/.local/share/fonts/* $HOME/Library/Fonts/
|
|
|
|
|
else
|
2018-01-27 21:28:46 +08:00
|
|
|
|
fc-cache -fv > /dev/null
|
|
|
|
|
mkfontdir "$HOME/.local/share/fonts" > /dev/null
|
|
|
|
|
mkfontscale "$HOME/.local/share/fonts" > /dev/null
|
2018-01-27 16:38:19 +08:00
|
|
|
|
fi
|
2018-01-27 22:18:18 +08:00
|
|
|
|
success "字体安装已完成!"
|
2018-01-27 21:28:46 +08:00
|
|
|
|
}
|
2018-01-27 01:07:02 +08:00
|
|
|
|
|
2018-01-27 21:28:46 +08:00
|
|
|
|
# }}}
|
|
|
|
|
|
|
|
|
|
### main {{{
|
|
|
|
|
main () {
|
|
|
|
|
if [ $# -gt 0 ]
|
|
|
|
|
then
|
|
|
|
|
case $1 in
|
|
|
|
|
--uninstall|-u)
|
2018-01-27 22:18:18 +08:00
|
|
|
|
info "正在卸载 SpaceVim..."
|
2018-01-27 21:28:46 +08:00
|
|
|
|
uninstall_vim
|
|
|
|
|
uninstall_neovim
|
2018-01-27 22:18:18 +08:00
|
|
|
|
echo_with_color ${BWhite} "感谢体验 SpaceVim,期待再次回来..."
|
2018-01-27 21:28:46 +08:00
|
|
|
|
exit 0
|
|
|
|
|
;;
|
|
|
|
|
--checkRequirements|-c)
|
|
|
|
|
check_requirements
|
|
|
|
|
exit 0
|
|
|
|
|
;;
|
|
|
|
|
--install|-i)
|
|
|
|
|
welcome
|
|
|
|
|
need_cmd 'git'
|
|
|
|
|
fetch_repo
|
|
|
|
|
if [ $# -eq 2 ]
|
|
|
|
|
then
|
|
|
|
|
case $2 in
|
|
|
|
|
neovim)
|
|
|
|
|
install_neovim
|
|
|
|
|
install_done
|
|
|
|
|
exit 0
|
|
|
|
|
;;
|
|
|
|
|
vim)
|
|
|
|
|
install_vim
|
|
|
|
|
install_done
|
|
|
|
|
exit 0
|
|
|
|
|
esac
|
|
|
|
|
fi
|
|
|
|
|
install_vim
|
|
|
|
|
install_neovim
|
|
|
|
|
install_done
|
|
|
|
|
exit 0
|
|
|
|
|
;;
|
|
|
|
|
--help|-h)
|
|
|
|
|
usage
|
|
|
|
|
exit 0
|
|
|
|
|
;;
|
|
|
|
|
--version|-v)
|
|
|
|
|
msg "${Version}"
|
|
|
|
|
exit 0
|
|
|
|
|
esac
|
|
|
|
|
else
|
|
|
|
|
welcome
|
|
|
|
|
need_cmd 'git'
|
|
|
|
|
fetch_repo
|
|
|
|
|
install_vim
|
|
|
|
|
install_neovim
|
|
|
|
|
install_package_manager
|
|
|
|
|
install_fonts
|
|
|
|
|
install_done
|
|
|
|
|
fi
|
2018-01-27 01:07:02 +08:00
|
|
|
|
}
|
|
|
|
|
|
2018-01-27 21:28:46 +08:00
|
|
|
|
# }}}
|
|
|
|
|
|
|
|
|
|
main $@
|
|
|
|
|
|
2019-11-04 22:00:58 +08:00
|
|
|
|
# vim:set nofoldenable foldmethod=marker:
|