#!/bin/sh

if [ -z "$1" ] ; then
  echo "usage: $0 script-context [arguments]"
  exit 1
fi

[ "$NEDIT" ] || NEDIT="/usr/bin/nedit"
[ "$NEDITCLIENT" ] || NEDITCLIENT="/usr/bin/nc"
[ "$NEDITENV" ] || NEDITENV="XLIB_SKIP_ARGB_VISUALS=1 LD_PRELOAD=/lib/libBrokenLocale.so.1"

SCRIPT="$1"
shift

case "$SCRIPT" in
  ne)
    ERRORS=`/usr/bin/env $NEDITENV $NEDIT "$@" 2>&1`
    ;;

  nec)
    if [ -z "$1" ] ; then
      echo "usage: $SCRIPT servername [nedit options] files..."
      exit 1
    fi

    ERRORS=`/usr/bin/env $NEDITENV $NEDITCLIENT -svrname "$@" &>1`
    ;;

  nes)
    if [ -z "$1" ] ; then
      echo "usage: $SCRIPT servername [nedit options]"
      exit 1
    fi

    ERRORS=`/usr/bin/env $NEDITENV $NEDIT -server -svrname "$@" &>1`
    ;;

  *)
    echo "usage: {ne|nec|nes} [arguments]"
    exit 1
    ;;
esac

# Suppress console output unless there was an error
if [ "$?" ] ; then
  # Somehow echo doesn't render newlines well, so do it the hard way.
  IFS="\
"
  for ERROR in $ERRORS ; do
    echo $ERROR
  done
fi
