#!/bin/bash -i

### per-project customization of defaults
MYDEFAULT=$HOME/dev/feat

### generic

# get the part of the basename before the first dash as the project name
PROJECT=`basename $0 | sed 's/\([^-]*\)-.*/\1/'`
PROJECTUC=${PROJECT^^}

# this script setups up env to work on $PROJECT uninstalled

# this script is run -i so that PS1 doesn't get cleared

eval unset MY${PROJECTUC}
eval unset ${PROJECTUC}_DIR

# variables below can be configured in the following config file
CONFIG=$HOME/.config/$PROJECT/uninstalled
if test -f $CONFIG
then
  source $CONFIG
fi

# extract version from $0
# if this script is called "feat-master" then version will be "master"
VERSION=`basename $0 | sed "s/$PROJECT-//"`

CONFIG=$HOME/.config/$PROJECT/$VERSION
if test -f $CONFIG
then
  source $CONFIG
fi


MYNAME=MY${PROJECTUC}
eval MYVALUE=\$$MYNAME
eval ${MYNAME}=${MYVALUE:-$MYDEFAULT}
eval MYVALUE=\$$MYNAME

NAME_DIR=${PROJECTUC}_DIR
eval VALUE_DIR=\$$NAME_DIR
eval export ${NAME_DIR}=${VALUE_DIR:-$MYVALUE/$VERSION/$PROJECT}
eval VALUE_DIR=\$$NAME_DIR

if test ! -d $VALUE_DIR
then
  echo $VALUE_DIR does not exist
  exit 1
fi

echo "setting up $PROJECT $VERSION (uninstalled) in $VALUE_DIR"
cd $VALUE_DIR
PS1="[$PROJECT-$VERSION] $PS1" ./env $SHELL "$@"
