Fix multirecord selection to choose one
[khome.git] / home / lib / login_functions.sh
index 7bd88cb..490d739 100644 (file)
@@ -56,11 +56,11 @@ p() {
                     u = tmp
                     printf("%d [C] s:\"%s\", e:\"%s\", u:\"%s\"\n", n, s, e, u) > "/dev/stderr"
                 }
-
-                printf "%s", p # XXX Intentionally avoiding newline in the result.
+                ps[n] = p
             }
 
             END {
+                printf "%s", ps[n]  # XXX Intentionally avoiding newline in the result.
                 if (n == 1) {
                     exit 0
                 } else if (n == 0) {
@@ -68,7 +68,7 @@ p() {
                     exit 1
                 } else if (n > 1) {
                     # TODO fzf-select which of the records the user (ahem, me) wants.
-                    printf "[WARNING] Found more than one record.\n" > "/dev/stderr"
+                    printf "[WARNING] Found more than one record. Selecting the last one.\n" > "/dev/stderr"
                     exit 0
                 }
             }
@@ -425,6 +425,59 @@ gh_clone_repo() {
     git clone "$1"
 }
 
+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
+}
+
 work_log_template() {
 cat << EOF
 $(date '+%F %A')
This page took 0.031268 seconds and 4 git commands to generate.