#!/bin/bash
#
# Usage: special-include name file
#
# Replaces
#
#   <!-- name -->
#
# and
#
#   <!-- begin-name -->
#   ...
#   <!-- end-name -->
#
# by
#
#   <!-- begin-name -->
#   contents of "file"
#   <!-- end-name -->
#

if [ $# -lt 2 ]; then 
  echo "Usage: $0 name file [inputfile]" >&2
  exit 1
fi

name="$1"; shift
file="$1"; shift

sed '
s/<!-- *begin-'"$name"' *-->/<!--begin-'"$name"'-->\
/g
s/<!-- *end-'"$name"' *-->/\
<!--end-'"$name"'-->/g
s/<!-- *'"$name"' *-->/<!--begin-'"$name"'-->\
<!--end-'"$name"'-->/g
' "$@" |\
sed '
/<!-- *begin-'"$name"' *-->/{
p
r '"$file"'
}
/<!-- *end-'"$name"' *-->/p
/<!-- *begin-'"$name"' *-->/,/<!-- *end-'"$name"' *-->/d
'

# Local variables:
# mode: ksh
# End:
