#!/usr/bin/env bash # a script which creates a todo.txt wrapper # this puts a script in $REPOS/personal/bin/ and a directory in $XDG_DOCUMENTS_DIR/todos/ SCRIPT_DIR="$REPOS/personal/bin/" NAME="$(gum input --prompt "Name of script/todo.txt directory> " | chomp)" || exit 1 if [[ -z "$NAME" ]]; then echo "Name cannot be empty" >&2 exit 1 fi if [[ ! -d "$SCRIPT_DIR" ]]; then echo "Script directory '$SCRIPT_DIR' does not exist" >&2 exit 1 fi BASE_DIR="$XDG_DOCUMENTS_DIR/todos/$NAME" BASE_DIR_QUOTED="\$XDG_DOCUMENTS_DIR/todos/$NAME" mkdir -p "$BASE_DIR" || { echo "Error creating directory $BASE_DIR" >&2 exit 1 } { cat <<EOF #!/usr/bin/env bash export TODO_DIR="$BASE_DIR_QUOTED" exec todo.sh "\$@" EOF } >"$SCRIPT_DIR/$NAME" chmod +x "$SCRIPT_DIR/$NAME" echo "$NAME" >>"$XDG_DOCUMENTS_DIR/.todo_names.txt"