+bar() {
+ local -r len="${1:-79}" # 1st arg or 79.
+ local -r char="${2:--}" # 2nd arg or a dash.
+ for _ in {1.."$len"}; do
+ printf '%c' "$char";
+ done
+}
+
+daily_todo_file_template() {
+cat << EOF
+===============================================================================
+$(date '+%F %A')
+===============================================================================
+
+-------------------------------------------------------------------------------
+TODAY
+-------------------------------------------------------------------------------
+
+
+-------------------------------------------------------------------------------
+CURRENT
+-------------------------------------------------------------------------------
+
+
+-------------------------------------------------------------------------------
+BLOCKED
+-------------------------------------------------------------------------------
+
+
+-------------------------------------------------------------------------------
+BACKLOG
+-------------------------------------------------------------------------------
+EOF
+}
+
+today() {
+ local date
+ date="$(date +%F)"
+ local -r dir="$DIR_TODO/daily"
+ local -r file="$dir/$date.txt"
+
+ mkdir -p "$dir"
+ if [ ! -f "$file" ]
+ then
+ daily_todo_file_template > "$file"
+ fi
+ cd "$DIR_TODO" && "$EDITOR" $EDITOR_ARGS "$file"
+}
+
+todo() {
+ cd "$DIR_TODO" && "$EDITOR" TODO
+}
+