#!/usr/bin/env bash
##makedesc: Install omz (latest)

set -eo pipefail

installed() { command -v "$1" >/dev/null 2>&1; }

install() {
    echo
    echo "==============================================="
    echo "Installing omz"
    echo "==============================================="
    echo

    if ! installed zsh || ! installed git || ! installed curl; then
        echo "ERROR: you need git, zsh and curl to be installed!" >&2
        exit 1
    fi

    sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"

    echo
    echo "Finish!"
    echo
}

upgrade() {
    echo
    echo "==============================================="
    echo "Upgrading omz"
    echo "==============================================="
    echo

    if [ -d "$ZSH" ]; then
        bash "$ZSH/tools/upgrade.sh"
    else
        echo "ERROR: OMZ not found." >&2
        exit 1
    fi

    echo
    echo "Finish!"
    echo
}

remove() {
    echo
    echo "==============================================="
    echo "Removing omz"
    echo "==============================================="
    echo

    if [ -d "$ZSH" ]; then
        bash "$ZSH/tools/uninstall.sh"
    else
        echo "WARNING: OMZ not found, cleaning up." >&2
    fi
    rm -rf "$HOME/.oh-my-zsh"

    echo
    echo "Finish!"
    echo
}

case "$1" in
    u|upgrade|update) upgrade ;;
    r|remove|d|delete|p|purge) remove ;;
    *) install ;;
esac
