#!/usr/bin/env zsh
# t -- simple notes manager
-# Copyright (C) 2013-2021 Sergey Matveev <stargrave@stargrave.org>
-# Current version is written on zsh. Previous was on POSIX shell.
+# Copyright (C) 2013-2024 Sergey Matveev <stargrave@stargrave.org>
+# Current version is written on Z shell. Previous was on POSIX shell.
#
# Usage:
# * t -- just briefly print all notes: their number and stripped first
# $ t
# [0] some earlier default namespace note (1)
-set -e
-setopt NULL_GLOB
+setopt ERR_EXIT NULL_GLOB
NOTES_DIR=$HOME/.t/$N
NOTES_DIR=${NOTES_DIR%/}
}
get_note() {
+ [[ "$1" = [0-9]* ]] || { print invalid note id ; exit 1 }
NOTE=($NOTES_DIR/*(.on[$(( $1 + 1 ))]))
[[ ${#NOTE} -eq 0 ]] && { print note not found >&2 ; exit 1 }
NOTE=${NOTE[1]}
[[ ${#line} -le 70 ]] || print -n "... "
lines=$(wc -l < $note)
printf "(%d)\n" $lines
- ctr=$(( ctr + 1 ))
+ (( ctr = ctr + 1 ))
}
exit
}
case $1 in
(a)
- note=$NOTES_DIR/$(date "+%Y%m%d-%H%M%S")
+ zmodload -F zsh/datetime b:strftime
+ note=$NOTES_DIR/$(strftime %Y%m%d-%H%M%S)
[[ $# -gt 1 ]] && print -- ${@[2,-1]} > $note || $EDITOR $note
;;
(d) get_note $2 ; rm -f $NOTE ;;