X-Git-Url: https://git.madduck.net/etc/taskwarrior.git/blobdiff_plain/385caf01793167d7087a1aec760edffb33a2d2a0..b2bea6a2530dc8ae41eb5120565406fb7317e3b5:/.bin/task_attach?ds=sidebyside diff --git a/.bin/task_attach b/.bin/task_attach new file mode 100755 index 0000000..efcbf4b --- /dev/null +++ b/.bin/task_attach @@ -0,0 +1,41 @@ +#!/bin/sh +set -eu + +if [ $# != 2 ]; then + echo >&2 E: Need exactly two arguments. + return 1 +fi + +TSK="$1" +LINK="$2" + +case "$LINK" in + (*@*|"<*>") + LINK="${LINK%>}"; LINK="%{LINK#<}" + echo >&2 I: "Adding MsgID <$LINK> to task $TSK" + task "$TSK" mod data:msgid:"$LINK" + ;; + + (*://*) + echo >&2 I: "Adding URL $LINK to task $TSK" + task "$TSK" mod data:url:"$LINK" + ;; + + (*) + if [ -f "$LINK" ]; then + + LINK="$(readlink -e "$LINK")" + + case "$LINK" in + ($HOME/*) LINK="~${LINK#$HOME}";; + esac + echo >&2 I: "Adding file $LINK to task $TSK" + task "$TSK" mod data:file:"$LINK" + + else + echo >&2 E: "Don't know how to handle link data $LINK" + return 1 + + fi + ;; +esac