mirror of
https://github.com/SpaceVim/SpaceVim.git
synced 2025-02-03 05:20:04 +08:00
db5494c809
The `file(1)` shipped on macOS doesn't resolve symlinks: $ echo foo > file $ ln -s file link $ /usr/bin/file link link: ASCII text Unfortunately the `readlink(1)` on macOS doesn't support the `-f` flag as well, so we just match against the end of the string.
79 lines
2.0 KiB
Bash
Executable File
79 lines
2.0 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
#
|
|
|
|
# Reset
|
|
Color_off='\033[0m' # Text Reset
|
|
|
|
# Regular Colors
|
|
Red='\033[0;31m' # Red
|
|
Blue='\033[0;34m' # Blue
|
|
|
|
need_cmd () {
|
|
if ! hash "$1" &>/dev/null; then
|
|
echo -e "${Red}need '$1' (command not found)${Color_off}"
|
|
exit 1
|
|
fi
|
|
}
|
|
|
|
fetch_repo () {
|
|
if [[ -d "$HOME/.SpaceVim" ]]; then
|
|
git -C "$HOME/.SpaceVim" pull
|
|
ret=$?
|
|
echo -e "${Blue}Successfully update SpaceVim${Color_off}"
|
|
else
|
|
git clone https://github.com/SpaceVim/SpaceVim.git "$HOME/.SpaceVim"
|
|
ret=$?
|
|
echo -e "${Blue}Successfully clone SpaceVim${Color_off}"
|
|
fi
|
|
}
|
|
|
|
install_vim () {
|
|
if [[ -f "$HOME/.vimrc" ]]; then
|
|
mv "$HOME/.vimrc" "$HOME/.vimrc_back"
|
|
ret=$?
|
|
echo -e "${Blue}BackUp $HOME/.vimrc${Color_off}"
|
|
fi
|
|
|
|
if [[ -d "$HOME/.vim" ]]; then
|
|
if [[ "$(readlink $HOME/.vim)" =~ \.SpaceVim$ ]]; then
|
|
echo -e "${Blue}Installed SpaceVim for vim${Color_off}"
|
|
else
|
|
mv "$HOME/.vim" "$HOME/.vim_back"
|
|
ret=$?
|
|
echo -e "${Blue}BackUp $HOME/.vim${Color_off}"
|
|
ln -s "$HOME/.SpaceVim" "$HOME/.vim"
|
|
echo -e "${Blue}Installed SpaceVim for vim${Color_off}"
|
|
fi
|
|
else
|
|
ln -s "$HOME/.SpaceVim" "$HOME/.vim"
|
|
echo -e "${Blue}Installed SpaceVim for vim${Color_off}"
|
|
fi
|
|
}
|
|
|
|
install_neovim () {
|
|
if [[ -d "$HOME/.config/nvim" ]]; then
|
|
if [[ "$(readlink $HOME/.config/nvim)" =~ \.SpaceVim$ ]]; then
|
|
echo -e "${Blue}Installed SpaceVim for neovim${Color_off}"
|
|
else
|
|
mv "$HOME/.config/nvim" "$HOME/.config/nvim_back"
|
|
ret=$?
|
|
echo -e "${Blue}BackUp $HOME/.config/nvim${Color_off}"
|
|
ln -s "$HOME/.SpaceVim" "$HOME/.config/nvim"
|
|
echo -e "${Blue}Installed SpaceVim for neovim${Color_off}"
|
|
fi
|
|
else
|
|
ln -s "$HOME/.SpaceVim" "$HOME/.config/nvim"
|
|
echo -e "${Blue}Installed SpaceVim for neovim${Color_off}"
|
|
fi
|
|
}
|
|
|
|
need_cmd 'git'
|
|
|
|
fetch_repo
|
|
|
|
install_vim
|
|
|
|
install_neovim
|
|
|
|
|