alias t=task
alias t-="task delete"
alias ta='task add'
alias tal='task add dep:"$(task +LATEST uuids)"'
alias t.='tal'
alias tah="task add status_report:hide"
alias tan='task add scheduled:today'
alias tat='task add scheduled:tomorrow until:sch+14d'
alias td="task done"
alias tl="task log"
alias tlh="task log status_report:hide"
alias ti="task add +in"
alias tm='task modify'
alias tn='clear;task next'
alias trol="task sch:yes status:pending modify sch:tod"
alias tu="task undo"
alias tv="vit rc.alias.next=list"
alias tw1="task modify wait:1d"

alias in='t add +in' 
alias rnd='t add +rnd' 

alias to='taskopen'

# Shortcut for my weekly report, based on my task-status utility: https://git.arachnitech.com/kellya/task-status
alias ts='task-status --bullet=""'
alias tsx='task-status --bullet="*"|wl-copy;/usr/bin/xdg-open https://frnkl.in/tins/update'

# context control
alias tc="task context"
alias tt="task rc.context=none"
alias ttv="vit rc.alias.next=list rc.context=none"

# main categories
alias tmaint="t project:maint"


# Scripty aliases
tickle () {
    deadline=$1
    shift
    in +tickle wait:$deadline $@
}
alias tick=tickle

tb2task () {
# takes a task from cbthunderlink in the format of `"$subject$" $cblink$`
# splits the line into subject and link, adds a task with the description of subject
# and adds a cbthunderlink URL as an annotation for taskopen
# I wouldn't have to do this if TB had some way to execute a script 
    subject="$1"
    shift
    link="$1"
    task add +in +mail "$subject"
    task ann $(task +LATEST uuids) -- "$link"
}

# Sometimes I want to make things go away, taskrm will delete and purge an entity
taskrm () {
    TASK_CMD="task"
    TASK_OPTIONS=""
    if [[ $1 == "-f" ]] || [[ $1 == "--force" ]];then
        TASK_OPTIONS="rc.confirmation=off"
        shift
    fi
    if [[ $# == 0 ]]; then
        echo "No arguments given, exiting"
        return 1
    fi
    TASKUUID=$(task $1 uuids)
    $TASK_CMD $TASK_OPTIONS delete $1 && $TASK_CMD $TASK_OPTIONS purge $TASKUUID
}
alias trm="taskrm"

# These were built from inspiration from various parts of the internet, but in particular:
# https://gist.github.com/simonmichael/7d57c47dc643279951f1
# https://www.reddit.com/r/taskwarrior/comments/uvwqlz/share_your_aliases/