#!/usr/bin/env bash # Lists the available projects # If the --options flag is given, it will also list --new and, if relevant, --unset. # This is useful foa piping it into a fuzzy finder function list_projects(){ if [[ "$1" == "--options" ]]; then if [ -L "$SYMLINC" ]; then echo "--unset" fi echo "--new" fi find "$PROJECTS_PATH/" -maxdepth 2 -mindepth 2 -type d | while read line; do echo "$line" | tr '/' '\n' | tac | head -n 2 | tac | tr '\n' '/' echo done } function print_help(){ echo -e "list\t\tLists the available projects" echo -e "\t--options\tAdds the --new option and the --unset option if appropriate" } case "$1" in -h|--help) print_help | column -t -s" " exit 0 ;; --parent-help) print_help exit 0 ;; *) list_projects "$@" exit 0 ;; esac