#!/bin/bash # # Generate a TODO with a unique hash and priority level to allow tracking. # # Usage: ./gen_todo.sh 2 "Implement this." # # Output: TODO(P2-a07e5416): Implement this. # Quit if any command produces an error. set -e # Check the positional arguments, assign defaults or prompt the user. if [ $# -lt 2 ]; then read -p "Priority (ex: 0, 1, 2 or 3):" if [ -z $REPLY ] then PRIORITY="?" else PRIORITY=$REPLY fi read -p "Description (ex: 'Implement this.'):" TODO_TEXT=$REPLY else PRIORITY=$1 TODO_TEXT=$2 fi # Build the TODO string. TIME=`date +%s.%N` SHASUM=`echo $TIME | shasum` TODO_ID=${SHASUM:0:6} TODO_STR="TODO(P$PRIORITY-$TODO_ID): $TODO_TEXT" echo $TODO_STR