#!/usr/bin/bash

if [ $# -lt 1 ] || [ "$1" = "-h" ] || [ "$1" = "--help" ]; then
	echo "$(basename "$0") create"
	echo "$(basename "$0") enter"
	echo "$(basename "$0") delete"
	exit
fi

if [ -z "$PWD" ] || [ "$PWD" = "$HOME" ]; then
	echo "work in home directory is not supported"
	exit 2
fi

case "$1" in
"create")
	mkdir -p "$PWD/.bashrc.d"
	cat > "$PWD/.bashrc" << \EOF
if [ -f ~/.bashrc ]; then
	. ~/.bashrc
fi

if [ -d $PWD/.bashrc.d ]; then
	for rc in "$PWD/.bashrc.d/"*; do
		if [ -f "$rc" ]; then
			. "$rc"
		fi
	done
fi
EOF
	cat > "$PWD/.bashrc.d/10-hist.sh" << \EOF
HISTFILE=$PWD/.bash_history
EOF
	;;

"enter")
	if [ -f "$PWD/.bashrc" ]; then
		LOCALSHRC="$PWD/.bashrc"
	else
		LOCALSHRC="$HOME/.bashrc"
	fi
	bash -c "PROFILE=(local) exec bash --rcfile $LOCALSHRC"
	;;

"delete")
	rm -rf "$PWD/.bashrc" "$PWD/.bashrc.d" "$PWD/.bash_history"
	;;

*)
	echo "unknown command: $1"
	exit 1
	;;
esac
