#!/bin/sh
# set -x

# defaults
DEFPREFS="js9Prefs.json"
HELPER="./js9Helper.js"
if [ -d $HOME/logs ]; then
  LOG="$HOME/logs/js9node.log"
else
  LOG="js9node.log"
fi

# process command line switches
while [ x"$1" != x ]; do
    case $1 in
    -h) HELPER="$2"
        shift
	shift
        if [ ! -r "$HELPER" ]; then
          echo "ERROR: can't find prefs file: $HELPER"
          exit 1
        fi
        ;;

    -l) LOG="$2"
        shift
        shift
        ;;

    -p) PREFS="$2"
        shift
        shift
        if [ -r "$PREFS" ]; then
	  if [ -f $DEFPREFS ]; then
	      X=`diff -q $DEFPREFS $PREFS`
	      if [ x"$X" != x ]; then
		  mv $DEFPREFS $DEFPREFS-prev
	          ln -s $PREFS $DEFPREFS
	      fi
	  else
	      ln -s $PREFS $DEFPREFS
          fi
          PSTR="with prefs file $PREFS"
        else
          echo "ERROR: can't find prefs file: $PREFS"
          exit 1
        fi
        ;;

    *)  break
        ;;
    esac
done

# kill previous process, if necessary
got=`ps wwax | grep -i "js9Helper.js" | grep -v grep | awk '{print $1}'`
if [ x$got != x ]; then
    kill -9 $got
fi

# start new process
echo "starting node $HELPER $PSTR $*"
node $HELPER $* 1>$LOG 2>&1 &
