X-Git-Url: https://git.madduck.net/etc/mutt.git/blobdiff_plain/98860d737991afd790a07355c83b7a9d083fb61f..0898d5cf098dace711b1d991a90449eabb2e84c2:/.mutt/add-tickle-stamp diff --git a/.mutt/add-tickle-stamp b/.mutt/add-tickle-stamp new file mode 100755 index 0000000..c712f61 --- /dev/null +++ b/.mutt/add-tickle-stamp @@ -0,0 +1,46 @@ +#!/bin/sh +set -eu + +file=/dev/stdin +if [ -r "${1:-}" ] && [ -w "${1:-}" ]; then + file="$1" + shift +fi + +date= +arg="${1:-}" +args="$*" +if [ -z "$arg" ]; then + read -p 'When should I tickle you about this message? ' args + arg="${args%% *}" +fi + +if [ "$arg" = '-d' ] || [ $# -gt 1 ]; then + shift + date="$args" +else + case "$arg" in + *[0-9]w) date="now + ${arg%w} weeks 00:00";; + *[0-9]m) date="now + ${arg%m} months 00:00";; + *[0-9]h) date="now + ${arg%h} hours";; + *[0-9]d) date="now + ${arg%d} days 00:00";; + *' '*) date="$args";; + *[!0-9]*) + echo "E: invalid argument: $arg" >&2 + exit 1 + ;; + *) date="now + $arg days 00:00";; + esac +fi + +tickle=$(date +'%s (%c)' -d "$date") + +TMPFILE="$(tempfile -d /tmp -p tickle)" +trap "rm -f $TMPFILE" 0 1 2 3 4 5 6 7 8 10 11 12 13 14 15 + +formail -i "X-Tickle: $tickle" < $file > $TMPFILE + +[ -w "$file" ] && mv $TMPFILE $file + +rm -f $TMPFILE +trap - 0 1 2 3 4 5 6 7 8 10 11 12 13 14 15