+++ /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 "'"
--- /dev/null
+edit-header
\ No newline at end of file
+++ /dev/null
-#!/bin/sh
-
-#exec 2>> /tmp/bgrun.stderr
-#set -x
-
-SELF="${0##*/}"
-
-TEMPDIR=
-TEMPRUNDIR=.tempdir-run.d
-cleanup() {
- if [ -d $TEMPRUNDIR ]; then
- local TEMPDIR; TEMPDIR="$PWD"
- notify_output
- cd /
- rm -rf "$TEMPDIR"
- fi
- trap - 1 2 3 4 5 6 7 8 10 11 12 13 14 15
-}
-trap cleanup 1 2 3 4 5 6 7 8 10 11 12 13 14 15
-
-enter_tempdir() {
- if [ -d $TEMPRUNDIR ]; then
- return
-
- else
- if [ -z "${TMPDIR:-}" ]; then
- TMPDIR=/tmp
- fi
- for i in $LOGNAME volatile; do
- if [ -d "${TMPDIR}/$i" ]; then
- TMPDIR="${TMPDIR}/$i"
- break
- fi
- done
- cd $(mktemp -dp "$TMPDIR" mutt.XXXXXXXXXX)
- mkdir $TEMPRUNDIR
- fi
-}
-
-notify() {
- if [ -x "$(command -v awesome-client)" ]; then
- local stdout stderr escaped output
- stdout="${2:-}"
- stderr="${3:-}"
- for i in stdout stderr; do
- if eval test -s $TEMPRUNDIR/output.$i; then
- escaped=$(eval sed -e 's,\",\\\",g' $TEMPRUNDIR/output.$i)
- output="${output:+$output
-}${i}:
-$escaped"
- fi
- done
- [ -n "${escaped:-}" ] || return
- awesome-client <<-_eof
- local naughty = require("naughty")
- naughty.notify({ preset = naughty.config.presets.low,
- title = "${1:-Output from mutt/$SELF}",
- text = [[$output]]
- })
- _eof
- fi
-}
-
-notify_output() {
- [ -d $TEMPRUNDIR ] || return
- local stdout stderr anything
-
- for i in stdout stderr; do
- if [ -s "$TEMPRUNDIR/output.$i" ]; then
- eval $i="'$TEMPRUNDIR/output.$i'"
- else
- eval $i=/dev/null
- fi
- done
-
- notify "Output from mutt/$SELF" $stdout $stderr
-}
-
-guess_extension() {
- python3 -c "import mimetypes; print(mimetypes.guess_extension('$1'))"
-}
-
-get_file() {
- local t
- if [ -z "$1" ]; then
- t=$(mktemp -p "$PWD" tmp.XXXXXXXXXX$(guess_extension "$MIMETYPE"))
- cat > "$t"
- echo "$t"
- else
- t="$(echo -n ${1##*/} | sed -re 's![^[:alnum:],.@%^+=_-]!_!gi')"
- ln "$1" "$t" 2>/dev/null || cp "$1" "$t"
- echo "$PWD/$t"
- fi
-}
-
-MIMETYPE= FILENAME= VIEWER= DELAY=1
-state=
-for arg in "$@"; do
- case "$state/$arg" in
-
- (/-t) state=t;;
- (t/*) MIMETYPE="$arg"; state=;;
-
- (/-f) state=f;;
- (f/*) FILENAME="$arg"; state=;;
-
- (/-d) state=d;;
- (d/*) DELAY="$arg"; state=;;
-
- (/-v) state=v;;
- (v/*) VIEWER="$arg"; state=;;
-
- (*)
- echo >&2 "E: Invalid argument: $i"
- exit 1
- ;;
-
- esac
-done
-
-launch_viewer() {
- local filename; filename="$1"
- if [ -z "$VIEWER" ]; then
- [ -n "${2:-}" ] && filename="${2}:${1}"
- run-mailcap "$filename" > $TEMPRUNDIR/output.stdout 2> $TEMPRUNDIR/output.stderr
- else
- $VIEWER "$filename" > $TEMPRUNDIR/output.stdout 2> $TEMPRUNDIR/output.stderr
- fi
-}
-
-case "$SELF" in
- (bgview)
- # make a copy of the file, then launch a shell process in the background
- # to divert to run-mailcap, after which the temporary directory gets
- # cleaned up.
- enter_tempdir
- FILE="$(get_file "$FILENAME")"
- (
- ts=$(($(date +%s) + $DELAY))
- launch_viewer "$FILE" "$MIMETYPE"
- while [ $(date +%s) -lt $ts ]; do sleep 1; done
- cleanup
- ) &
- trap - 1 2 3 4 5 6 7 8 10 11 12 13 14 15
- ;;
- (bgview-fifo)
- # hack to stay around until the viewer has read the file: make a fifo and
- # wait for the cat process to finish writing to it, which means that it
- # must have been consumed on the other end.
- enter_tempdir
- FILE="$(get_file "$FILENAME")"
- FIFO="fifo-${FILE##*/}"
- mkfifo "$FIFO"
- cat "$FILE" > "$FIFO" &
- # For some reason, we do have to write a tempfile and cannot seem to
- # redirect stdin directly to the fifo, i.e. this does not work instead of
- # the previous three lines:
- ## cat > "$FIFO" &
- launch_viewer "$FIFO" "$MIMETYPE"
- wait
- cleanup
- ;;
- (bgview-delay)
- # hack to stay around until the file hasn't been accessed for a few
- # seconds, so that we can clean up. This is for cases when the FIFO method
- # doesn't work, because e.g. Firefox randomly chooses it needs to read
- # HTML files twice.
- enter_tempdir
- FILE="$(get_file "$FILENAME")"
- touch "$FILE"
- (launch_viewer "$FILE" "$MIMETYPE") &
- (
- while [ $(($(stat -c%X "$FILE") + $DELAY)) -gt $(date +%s) ]; do
- sleep 1
- done
- cleanup
- ) &
- trap - 1 2 3 4 5 6 7 8 10 11 12 13 14 15
- ;;
-esac
--- /dev/null
+bgrun
\ No newline at end of file
+++ /dev/null
-#!/bin/sh
-
-#exec 2>> /tmp/bgrun.stderr
-#set -x
-
-SELF="${0##*/}"
-
-TEMPDIR=
-TEMPRUNDIR=.tempdir-run.d
-cleanup() {
- if [ -d $TEMPRUNDIR ]; then
- local TEMPDIR; TEMPDIR="$PWD"
- notify_output
- cd /
- rm -rf "$TEMPDIR"
- fi
- trap - 1 2 3 4 5 6 7 8 10 11 12 13 14 15
-}
-trap cleanup 1 2 3 4 5 6 7 8 10 11 12 13 14 15
-
-enter_tempdir() {
- if [ -d $TEMPRUNDIR ]; then
- return
-
- else
- if [ -z "${TMPDIR:-}" ]; then
- TMPDIR=/tmp
- fi
- for i in $LOGNAME volatile; do
- if [ -d "${TMPDIR}/$i" ]; then
- TMPDIR="${TMPDIR}/$i"
- break
- fi
- done
- cd $(mktemp -dp "$TMPDIR" mutt.XXXXXXXXXX)
- mkdir $TEMPRUNDIR
- fi
-}
-
-notify() {
- if [ -x "$(command -v awesome-client)" ]; then
- local stdout stderr escaped output
- stdout="${2:-}"
- stderr="${3:-}"
- for i in stdout stderr; do
- if eval test -s $TEMPRUNDIR/output.$i; then
- escaped=$(eval sed -e 's,\",\\\",g' $TEMPRUNDIR/output.$i)
- output="${output:+$output
-}${i}:
-$escaped"
- fi
- done
- [ -n "${escaped:-}" ] || return
- awesome-client <<-_eof
- local naughty = require("naughty")
- naughty.notify({ preset = naughty.config.presets.low,
- title = "${1:-Output from mutt/$SELF}",
- text = [[$output]]
- })
- _eof
- fi
-}
-
-notify_output() {
- [ -d $TEMPRUNDIR ] || return
- local stdout stderr anything
-
- for i in stdout stderr; do
- if [ -s "$TEMPRUNDIR/output.$i" ]; then
- eval $i="'$TEMPRUNDIR/output.$i'"
- else
- eval $i=/dev/null
- fi
- done
-
- notify "Output from mutt/$SELF" $stdout $stderr
-}
-
-guess_extension() {
- python3 -c "import mimetypes; print(mimetypes.guess_extension('$1'))"
-}
-
-get_file() {
- local t
- if [ -z "$1" ]; then
- t=$(mktemp -p "$PWD" tmp.XXXXXXXXXX$(guess_extension "$MIMETYPE"))
- cat > "$t"
- echo "$t"
- else
- t="$(echo -n ${1##*/} | sed -re 's![^[:alnum:],.@%^+=_-]!_!gi')"
- ln "$1" "$t" 2>/dev/null || cp "$1" "$t"
- echo "$PWD/$t"
- fi
-}
-
-MIMETYPE= FILENAME= VIEWER= DELAY=1
-state=
-for arg in "$@"; do
- case "$state/$arg" in
-
- (/-t) state=t;;
- (t/*) MIMETYPE="$arg"; state=;;
-
- (/-f) state=f;;
- (f/*) FILENAME="$arg"; state=;;
-
- (/-d) state=d;;
- (d/*) DELAY="$arg"; state=;;
-
- (/-v) state=v;;
- (v/*) VIEWER="$arg"; state=;;
-
- (*)
- echo >&2 "E: Invalid argument: $i"
- exit 1
- ;;
-
- esac
-done
-
-launch_viewer() {
- local filename; filename="$1"
- if [ -z "$VIEWER" ]; then
- [ -n "${2:-}" ] && filename="${2}:${1}"
- run-mailcap "$filename" > $TEMPRUNDIR/output.stdout 2> $TEMPRUNDIR/output.stderr
- else
- $VIEWER "$filename" > $TEMPRUNDIR/output.stdout 2> $TEMPRUNDIR/output.stderr
- fi
-}
-
-case "$SELF" in
- (bgview)
- # make a copy of the file, then launch a shell process in the background
- # to divert to run-mailcap, after which the temporary directory gets
- # cleaned up.
- enter_tempdir
- FILE="$(get_file "$FILENAME")"
- (
- ts=$(($(date +%s) + $DELAY))
- launch_viewer "$FILE" "$MIMETYPE"
- while [ $(date +%s) -lt $ts ]; do sleep 1; done
- cleanup
- ) &
- trap - 1 2 3 4 5 6 7 8 10 11 12 13 14 15
- ;;
- (bgview-fifo)
- # hack to stay around until the viewer has read the file: make a fifo and
- # wait for the cat process to finish writing to it, which means that it
- # must have been consumed on the other end.
- enter_tempdir
- FILE="$(get_file "$FILENAME")"
- FIFO="fifo-${FILE##*/}"
- mkfifo "$FIFO"
- cat "$FILE" > "$FIFO" &
- # For some reason, we do have to write a tempfile and cannot seem to
- # redirect stdin directly to the fifo, i.e. this does not work instead of
- # the previous three lines:
- ## cat > "$FIFO" &
- launch_viewer "$FIFO" "$MIMETYPE"
- wait
- cleanup
- ;;
- (bgview-delay)
- # hack to stay around until the file hasn't been accessed for a few
- # seconds, so that we can clean up. This is for cases when the FIFO method
- # doesn't work, because e.g. Firefox randomly chooses it needs to read
- # HTML files twice.
- enter_tempdir
- FILE="$(get_file "$FILENAME")"
- touch "$FILE"
- (launch_viewer "$FILE" "$MIMETYPE") &
- (
- while [ $(($(stat -c%X "$FILE") + $DELAY)) -gt $(date +%s) ]; do
- sleep 1
- done
- cleanup
- ) &
- trap - 1 2 3 4 5 6 7 8 10 11 12 13 14 15
- ;;
-esac
--- /dev/null
+bgrun
\ No newline at end of file
+++ /dev/null
-#!/bin/sh
-
-#exec 2>> /tmp/bgrun.stderr
-#set -x
-
-SELF="${0##*/}"
-
-TEMPDIR=
-TEMPRUNDIR=.tempdir-run.d
-cleanup() {
- if [ -d $TEMPRUNDIR ]; then
- local TEMPDIR; TEMPDIR="$PWD"
- notify_output
- cd /
- rm -rf "$TEMPDIR"
- fi
- trap - 1 2 3 4 5 6 7 8 10 11 12 13 14 15
-}
-trap cleanup 1 2 3 4 5 6 7 8 10 11 12 13 14 15
-
-enter_tempdir() {
- if [ -d $TEMPRUNDIR ]; then
- return
-
- else
- if [ -z "${TMPDIR:-}" ]; then
- TMPDIR=/tmp
- fi
- for i in $LOGNAME volatile; do
- if [ -d "${TMPDIR}/$i" ]; then
- TMPDIR="${TMPDIR}/$i"
- break
- fi
- done
- cd $(mktemp -dp "$TMPDIR" mutt.XXXXXXXXXX)
- mkdir $TEMPRUNDIR
- fi
-}
-
-notify() {
- if [ -x "$(command -v awesome-client)" ]; then
- local stdout stderr escaped output
- stdout="${2:-}"
- stderr="${3:-}"
- for i in stdout stderr; do
- if eval test -s $TEMPRUNDIR/output.$i; then
- escaped=$(eval sed -e 's,\",\\\",g' $TEMPRUNDIR/output.$i)
- output="${output:+$output
-}${i}:
-$escaped"
- fi
- done
- [ -n "${escaped:-}" ] || return
- awesome-client <<-_eof
- local naughty = require("naughty")
- naughty.notify({ preset = naughty.config.presets.low,
- title = "${1:-Output from mutt/$SELF}",
- text = [[$output]]
- })
- _eof
- fi
-}
-
-notify_output() {
- [ -d $TEMPRUNDIR ] || return
- local stdout stderr anything
-
- for i in stdout stderr; do
- if [ -s "$TEMPRUNDIR/output.$i" ]; then
- eval $i="'$TEMPRUNDIR/output.$i'"
- else
- eval $i=/dev/null
- fi
- done
-
- notify "Output from mutt/$SELF" $stdout $stderr
-}
-
-guess_extension() {
- python3 -c "import mimetypes; print(mimetypes.guess_extension('$1'))"
-}
-
-get_file() {
- local t
- if [ -z "$1" ]; then
- t=$(mktemp -p "$PWD" tmp.XXXXXXXXXX$(guess_extension "$MIMETYPE"))
- cat > "$t"
- echo "$t"
- else
- t="$(echo -n ${1##*/} | sed -re 's![^[:alnum:],.@%^+=_-]!_!gi')"
- ln "$1" "$t" 2>/dev/null || cp "$1" "$t"
- echo "$PWD/$t"
- fi
-}
-
-MIMETYPE= FILENAME= VIEWER= DELAY=1
-state=
-for arg in "$@"; do
- case "$state/$arg" in
-
- (/-t) state=t;;
- (t/*) MIMETYPE="$arg"; state=;;
-
- (/-f) state=f;;
- (f/*) FILENAME="$arg"; state=;;
-
- (/-d) state=d;;
- (d/*) DELAY="$arg"; state=;;
-
- (/-v) state=v;;
- (v/*) VIEWER="$arg"; state=;;
-
- (*)
- echo >&2 "E: Invalid argument: $i"
- exit 1
- ;;
-
- esac
-done
-
-launch_viewer() {
- local filename; filename="$1"
- if [ -z "$VIEWER" ]; then
- [ -n "${2:-}" ] && filename="${2}:${1}"
- run-mailcap "$filename" > $TEMPRUNDIR/output.stdout 2> $TEMPRUNDIR/output.stderr
- else
- $VIEWER "$filename" > $TEMPRUNDIR/output.stdout 2> $TEMPRUNDIR/output.stderr
- fi
-}
-
-case "$SELF" in
- (bgview)
- # make a copy of the file, then launch a shell process in the background
- # to divert to run-mailcap, after which the temporary directory gets
- # cleaned up.
- enter_tempdir
- FILE="$(get_file "$FILENAME")"
- (
- ts=$(($(date +%s) + $DELAY))
- launch_viewer "$FILE" "$MIMETYPE"
- while [ $(date +%s) -lt $ts ]; do sleep 1; done
- cleanup
- ) &
- trap - 1 2 3 4 5 6 7 8 10 11 12 13 14 15
- ;;
- (bgview-fifo)
- # hack to stay around until the viewer has read the file: make a fifo and
- # wait for the cat process to finish writing to it, which means that it
- # must have been consumed on the other end.
- enter_tempdir
- FILE="$(get_file "$FILENAME")"
- FIFO="fifo-${FILE##*/}"
- mkfifo "$FIFO"
- cat "$FILE" > "$FIFO" &
- # For some reason, we do have to write a tempfile and cannot seem to
- # redirect stdin directly to the fifo, i.e. this does not work instead of
- # the previous three lines:
- ## cat > "$FIFO" &
- launch_viewer "$FIFO" "$MIMETYPE"
- wait
- cleanup
- ;;
- (bgview-delay)
- # hack to stay around until the file hasn't been accessed for a few
- # seconds, so that we can clean up. This is for cases when the FIFO method
- # doesn't work, because e.g. Firefox randomly chooses it needs to read
- # HTML files twice.
- enter_tempdir
- FILE="$(get_file "$FILENAME")"
- touch "$FILE"
- (launch_viewer "$FILE" "$MIMETYPE") &
- (
- while [ $(($(stat -c%X "$FILE") + $DELAY)) -gt $(date +%s) ]; do
- sleep 1
- done
- cleanup
- ) &
- trap - 1 2 3 4 5 6 7 8 10 11 12 13 14 15
- ;;
-esac
--- /dev/null
+bgrun
\ No newline at end of file
+++ /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 "'"
--- /dev/null
+edit-header
\ No newline at end of file
+++ /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 "'"
--- /dev/null
+edit-header
\ No newline at end of file
+++ /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 "'"
--- /dev/null
+edit-header
\ No newline at end of file