#!/bin/bash
function salt() {
    if [[ "$1" == "state.apply" ]]; then
        sudo salt-call --local --file-root "$HOME/salt/states" --pillar-root "$HOME/salt/pillars" "$@" pillar="{username: $USER}"
    else 
        sudo salt-call --local --file-root "$HOME/salt/states" --pillar-root "$HOME/salt/pillars" "$@"
    fi
}

function pw(){
    FILE="$1"

    [[ -z "$PWHOME" ]] && printf "\$PWHOME not set\n"  && return

    [[ -z "$FILE" ]] && FILE="web.gpg"
    
    if [[ ! "${FILE: -4}" == ".gpg" ]];then
        FILE="${FILE}.gpg"
    fi
    cd "$PWHOME"
    vi "$FILE"

    cd "$OLDPWD"
}

_pw_completion()
{
    local cur prev suggestions
    [[ -z "$PWHOME" ]] && return
    cur="${COMP_WORDS[COMP_CWORD]}"
    prev="${COMP_WORDS[COMP_CWORD-1]}"
    cd "$PWHOME"
    suggestions="$(ls *.gpg)"
    cd "$OLDPWD"
    if [[ "$prev" != "pw" ]];then
        COMPREPLY=()
    else
        COMPREPLY=( $(compgen -W "${suggestions}" -- ${cur}) )
    fi
}
complete -F _pw_completion pw

function doh()
{
    local options
    options=(start stop restart status)
    if [[ ! " ${options[@]} " =~ " ${1} " ]]; then
        echo "wrong option, valid: ${options[@]}"
        return
    fi
    if [[ "$1" == "status" ]]; then
        systemctl status local-doh-proxy
    else
        sudo systemctl "$1" local-doh-proxy
    fi
}

function copy_k8s_token(){
    grep "id-token" ~/.kube/config  | awk '{print $2}' | xclip -sel clip
}

function ip_to_hex(){
    IFS=. read oct1 oct2 oct3 oct4 <<< "$1"
    printf '0x%02x%02x%02x%02x\n' $oct1 $oct2 $oct3 $oct4
}

function salt-call(){
  sudo salt-call --local "$@"
}


function ww(){
    local selected_wiki
    selected_wiki="$1"

    case $1 in
        SUSE|suse|S|s|2)
            vim -c "normal 2 ww"
            ;;
        Private|private|p|3)
            vim -c "normal 3 ww"
            ;;
        *)
            vim -c "normal 1 ww"
            ;;
    esac
}
