function install_plugins() { if ! command -v git >/dev/null 2>&1; then echo "Git is not installed." return fi if [ ! -n "${ZSH_PLUGINS_PATH}" ]; then echo "ZSH_PLUGINS_PATH is not set. Please set it and try again." return fi # git clone zsh-autosuggestions if [ ! -d "$ZSH_PLUGINS_PATH"/zsh-autosuggestions ]; then echo "Zsh Autosuggestions is not downloaded. Downloading..." # git clone https://github.com/zsh-users/zsh-autosuggestions.git "$ZSH_PLUGINS_PATH"/zsh-autosuggestions git clone https://gitee.com/mirrors/zsh-autosuggestions.git "$ZSH_PLUGINS_PATH"/zsh-autosuggestions else cd "$ZSH_PLUGINS_PATH"/zsh-autosuggestions || return if [ ! -d .git ]; then echo "Zsh Autosuggestions is not a git repository. Please remove $ZSH_PLUGINS_PATH/zsh-autosuggestions and try again." return else echo "Zsh Autosuggestions is already exist. Updating..." git pull fi fi # git clone zsh-syntax-highlighting if [ ! -d "$ZSH_PLUGINS_PATH"/zsh-syntax-highlighting ]; then echo "Zsh Syntax Highlighting is not downloaded. Downloading..." # git clone https://github.com/zsh-users/zsh-syntax-highlighting.git "$ZSH_PLUGINS_PATH"/zsh-syntax-highlighting git clone https://gitee.com/mirrors/zsh-syntax-highlighting.git "$ZSH_PLUGINS_PATH"/zsh-syntax-highlighting else cd "$ZSH_PLUGINS_PATH"/zsh-syntax-highlighting || return if [ ! -d .git ]; then echo "Zsh Syntax Highlighting is not a git repository. Please remove $ZSH_PLUGINS_PATH/zsh-syntax-highlighting and try again." return else echo "Zsh Syntax Highlighting is already exist. Updating..." git pull fi fi # git clone zsh-autocomplete if [ ! -d "$ZSH_PLUGINS_PATH"/zsh-autocomplete ]; then echo "Zsh Autocomplete is not downloaded. Downloading..." # git clone https://github.com/marlonrichert/zsh-autocomplete.git "$ZSH_PLUGINS_PATH"/zsh-autocomplete git clone https://gitee.com/mirrors/zsh-autocomplete.git "$ZSH_PLUGINS_PATH"/zsh-autocomplete else cd "$ZSH_PLUGINS_PATH"/zsh-autocomplete || return if [ ! -d .git ]; then echo "Zsh Autocomplete is not a git repository. Please remove $ZSH_PLUGINS_PATH/zsh-autocomplete and try again." return else echo "Zsh Autocomplete is already exist. Updating..." git pull fi fi # git clone powerlevel10k if [ ! -d "$ZSH_PLUGINS_PATH"/fzf-tab ]; then echo "fzf-tab is not downloaded. Downloading..." git clone https://github.com/Aloxaf/fzf-tab.git "$ZSH_PLUGINS_PATH"/fzf-tab else cd "$ZSH_PLUGINS_PATH"/fzf-tab || return if [ ! -d .git ]; then echo "fzf-tab is not a git repository. Please remove $ZSH_PLUGINS_PATH/fzf-tab and try again." return else echo "fzf-tab is already exist. Updating..." git pull fi fi # git clone oh-my-zsh if [ ! -d "$ZSH_PLUGINS_PATH"/ohmyzsh ]; then echo "Oh My Zsh is not downloaded. Downloading..." # git clone https://github.com/ohmyzsh/ohmyzsh.git "$PATH_OHMYZSH" git clone https://gitee.com/mirrors/ohmyzsh.git "$ZSH_PLUGINS_PATH"/ohmyzsh else cd "$ZSH_PLUGINS_PATH"/ohmyzsh || return if [ ! -d .git ]; then echo "Oh My Zsh is not a git repository. Please remove $ZSH_PLUGINS_PATH/ohmyzsh and try again." return else echo "Oh My Zsh is already exist. Updating..." git pull fi fi }