+++ /dev/null
-#!/bin/sh
-#
-# edit-header - helper script to append/replace/remove headers with mutt
-#
-# Based on an idea by David Champion <dgc at uchicago.edu>
-#
-# Copyright © 2008 martin f. krafft <madduck@madduck.net>
-# Released under the terms of the Artistic Licence 2.0
-#
-set -eu
-
-if [ ! -x "$(command -v formail)" ]; then
- echo E: formail not installed. >&2
- exit 1
-fi
-
-header="${1:-}"
-if [ -z "$header" ]; then
- echo "E: no header specified" >&2
- exit 1
-fi
-
-get_header_contents()
-{
- local contents
- printf "Enter ${1:-header} contents: " >/dev/tty
- read contents </dev/tty
- echo "$contents"
-}
-
-script="${0%/*}/${2:-}"
-if [ -f "$script" ] && [ -x "$script" ]; then
- if [ -z "${__RLWRAPPED:-}" ] && [ -x $(command -v rlwrap) ]; then
- __RLWRAPPED=true exec rlwrap "$0" "$@"
- fi
-
- contents_source="$script"
- shift
-else
- contents_source=get_header_contents
-fi
-
-editor=
-case "$0" in
- *append-header|*supersede-header|*replace-header)
- contents="${2:-}"
- [ -n "$contents" ] || contents="$(eval $contents_source $header)"
- case "$0" in
- *append-header) flag=-A;;
- *supersede-header) flag=-i;;
- *replace-header) flag=-I;;
- esac
- editor="${0%/*}/filter-proxy formail $flag \'$header: $contents\'"
- ;;
-
- *remove-header)
- editor="${0%/*}/filter-proxy formail -I \'$header:\'"
- ;;
-
- *)
- echo "E: unknown invocation: ${0##*/}" >&2
- exit 1
- ;;
-
-esac
-
-echo "set my_editor=\"\$editor\""
-echo "set my_filter=\"$editor\""
-echo -n "push '"
-echo -n "<enter-command>set editor=\"\$my_filter\"<enter>"
-echo -n "<edit>"
-echo -n "<enter-command>set editor=\"\$my_editor\"<enter>"
-echo -n "<enter-command>unset my_filter<enter>"
-echo -n "<enter-command>unset my_editor<enter>"
-echo "'"