X-Git-Url: https://git.xandkar.net/?a=blobdiff_plain;f=home%2Flib%2Flogin_functions.sh;h=490d739e6b55e8ac6d5a796dae48d2600aff12f5;hb=626d972c0b3b700b3988468c3c49e80d4434cd5f;hp=d1d458a284011845b283a55b3a9d1dafc1d36a05;hpb=e2b9f534cf88a0a8319e72dcf679e68289d55c0e;p=khome.git diff --git a/home/lib/login_functions.sh b/home/lib/login_functions.sh index d1d458a..490d739 100644 --- a/home/lib/login_functions.sh +++ b/home/lib/login_functions.sh @@ -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,22 +425,57 @@ gh_clone_repo() { git clone "$1" } -todo() { +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 - local timestamp - local bar - date=$(date +%F) - timestamp=$(date '+%F %A') - bar=$(for _ in {1..80}; do printf '='; done) + date="$(date +%F)" local -r dir="$DIR_TODO/daily" local -r file="$dir/$date.txt" mkdir -p "$dir" if [ ! -f "$file" ] then - printf '%s\n%s\n%s\n' "$bar" "$timestamp" "$bar" > "$file" + daily_todo_file_template > "$file" fi - cd "$DIR_TODO" && "$EDITOR" "$file" + cd "$DIR_TODO" && "$EDITOR" $EDITOR_ARGS "$file" +} + +todo() { + cd "$DIR_TODO" && "$EDITOR" TODO } work_log_template() {