#!/bin/sh set -eu usage() { cat <<-'EOF' Usage: pb FILENAME.adoc [CONTENT] EOF } TITLE=FIXME while getopts 't:' flag; do case "$flag" in (t) TITLE="$OPTARG" ;; (*) usage >&2 exit 2 ;; esac done shift $((OPTIND - 1)) FILENAME="${1:-}" SOURCE="${2:-}" eval "$(assert-arg -- "$FILENAME" 'FILENAME')" FILENAME="${FILENAME%.adoc}.adoc" cd "$(dirname "$(readlink -f -- "$0")")"/../../ DIR=src/content/pastebins/"$(timestamp | sed 's|-|/|g')" OUT="$DIR"/"$FILENAME" if [ -e "$OUT" ]; then printf '"%s" already exists.\n' "$OUT" >&2 exit 2 fi if [ -n "$SOURCE" ]; then CONTENT="$(cat "$SOURCE")" else if [ -t 0 ]; then CONTENT='FIXME' else printf 'Reading from STDIN...\n' >&2 CONTENT="$(cat)" exec 0 "$OUT" ${VISUAL:-${EDITOR:-vi}} "$OUT" sh mkdeps.sh > deps.mk git reset . git add "$OUT" deps.mk git commit -m "pb(1): Auto-add \"$OUT\""