#!/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