X-Git-Url: http://www.git.stargrave.org/?a=blobdiff_plain;f=t;h=99409f9b6a124c2eb7e4f56295c217a5b2a24ad3;hb=d59dff8a6fcfffdf3f664ceee5cde039f4af5ffc;hp=27feb635026e84d1e5e6eeee57019e21cf31c520;hpb=3c10a7b76aab640a7eeefcc7ba1afe5ae95adb67;p=t.git diff --git a/t b/t index 27feb63..99409f9 100755 --- a/t +++ b/t @@ -1,13 +1,28 @@ #!/bin/sh -e # t -- simple notes manager -# Copyright (C) 2013-2018 Sergey Matveev -# Invoke the script without any arguments to briefly print all notes. -# Otherwise you can specify the following ones: -# a -- add new note (either starts an editor if not arguments are specified, -# or save them inside the note silently) -# d N -- delete note N -# m N -- modify note N by starting an editor -# N -- print out note's N contents +# Copyright (C) 2013-2021 Sergey Matveev +# +# Usage: +# * t -- just briefly print all notes: their number and stripped first +# line of content +# * t N -- print N note's contents +# * t a [X X X] -- add a new note to the end. If arguments are specified +# then they will be the content. Otherwise $EDITOR is started +# * t d N -- delete note number N. Pay attention that other notes may +# change their numbers! +# * t m N -- edit note N with $EDITOR +# Also you can specify $N environment variable that acts like some kind +# of namespace for the notes (prepare directory first!). For example: +# $ N=work t a get job done +# $ N=work t a # it starts $EDITOR +# $ N=work t +# [0] get job done (1) +# [1] this is first line of 3-lines comment (3) +# $ N=work t d 0 +# $ N=work t +# [0] this is first line of 3-lines comment (3) +# $ t +# [0] some earlier default namespace note (1) NOTES_DIR=$HOME/.t/$N @@ -34,7 +49,7 @@ fi case "$1" in a) shift - note=$NOTES_DIR/$(date '+%s') + note=$NOTES_DIR/$(date "+%Y%m%d-%H%M%S") [ $# -gt 0 ] && echo "$@" > $note || $EDITOR $note ;; d) @@ -44,7 +59,8 @@ m) $EDITOR $(get_note $2) ;; *) - cat $(get_note $1) + note=$(get_note $1) + [ -e "$note" ] && cat $note || exit 1 ;; esac purge