ollie/tools/task_clear

22 lines
801 B
Bash

#!/usr/bin/env bash
# description: Remove completed (checked) tasks from the session plan
# Args: (none)
[ -z "$OLLIE_SESSION_ID" ] && echo "error: OLLIE_SESSION_ID not set" >&2 && exit 1
OLLIE="${OLLIE:-$HOME/mnt/ollie}"
plan="$OLLIE/s/$OLLIE_SESSION_ID/plan"
[ ! -f "$plan" ] && echo "STATUS=ok CLEARED=0 REMAINING=0 TASK_COMPLETE=true" && echo "no plan found" && exit 0
before=$(grep -c '^\- \[.\]' "$plan" 2>/dev/null || echo 0)
grep -v '^\- \[x\]' "$plan" > "$plan.tmp" && mv "$plan.tmp" "$plan"
after=$(grep -c '^\- \[.\]' "$plan" 2>/dev/null || echo 0)
removed=$(( before - after ))
task_complete="false"
[ "$after" -eq 0 ] && task_complete="true"
echo "STATUS=ok CLEARED=$removed REMAINING=$after TASK_COMPLETE=$task_complete"
echo "cleared $removed completed task(s), $after remaining"