#!/bin/sh
# devel.a0fs.ru -- tools:~/bin/new-task -- v0.r202505.1
### CONST
TASK_BASE="proj/tasks"

### ARGS
# def args
args_global_task=0     # Расположение директории в глобальной наддиректории
                       # вместо текущего каталога

### FUNC
die () {
	echo "$1" >&2
	exit 1
}

# lib.getopts() -- v0.r202505.1
while getopts ":g" __OPT; do
  case ${__OPT} in
    \?)
      die "ERR: Unknown -$OPTARG"
      ;;

    :)
      die "ERR: -$OPTARG need arguments"
      ;;

    #  define :: Определение необходимых нам параметров
    g)
      args_global_task="1"
      ;;

    # end define
  esac
done
shift $((OPTIND-1))
# end lib.getopts()


### VARS
task_name="$(date '+%Y%m%d') - $1"

if [ "${args_global_task}" -eq 1 ] ; then
	task_dir="${HOME}/${TASK_BASE}/${task_name}"

else
	task_dir="${task_name}"
fi


### DO
if [ -z "$task_name" ] ; then
	die "Нужно имя задачи для регистрации"
fi

if [ -e "$task_dir" ]; then
	if [ ! -d "$task_dir" ] ; then
		die "Имя директории задачи уже нанято"

	else
		cd "$task_dir"
		exec $SHELL
	fi
else
	mkdir -p "$task_dir"
	cd "$task_dir"
	exec $SHELL
fi

