#!/bin/bash
function dotf(){
    /usr/bin/git --git-dir="$HOME"/.dotfiles --work-tree="$HOME" "$@"
}

status_dotfiles(){
    case $1 in
        check_error)
            result="$(/usr/bin/git --git-dir="$HOME"/.dotfiles --work-tree="$HOME" status --short 2> /dev/null)"
            # shellcheck disable=SC2181
            if [[ $? -ne 0 ]]; then
                echo YES
            fi
            ;;
        check_status)
            result="$(/usr/bin/git --git-dir="$HOME"/.dotfiles --work-tree="$HOME" status --short 2> /dev/null)"
            if [[ -n "$result" ]]; then
                echo YES
            fi
            ;;
        check_push)
            result="$(/usr/bin/git --git-dir="$HOME"/.dotfiles --work-tree="$HOME" status --short 2> /dev/null)"
            if [[ -z "$result" ]]; then
                result="$(/usr/bin/git --git-dir="$HOME"/.dotfiles --work-tree="$HOME" cherry -v )"
                if [[ -n "$result" ]]; then
                    echo YES
                fi
            fi
            ;;
    esac
}

[[ $(type -t __git_complete) == function ]] && __git_complete dotf __git_main
