#!/usr/bin/env bash

BIN_NAME=$(basename "$0")
VERSION=$1
ARROW="￫"
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[0;33m'
NC='\033[0m'
CURRENT_PHP_VERSION="`php -r \"error_reporting(0); echo str_replace('.', '', substr(phpversion(), 0, 3));\"`"

if [[ ! $VERSION ]] || [[ $VERSION = "help" ]] || [[ $VERSION = "-h" ]] || [[ $VERSION = "--help" ]]; then
    echo -e "$ARROW Usage: ${YELLOW}$BIN_NAME <version>${NC}"
    echo -e "$ARROW ${GREEN}Current PHP Version: $CURRENT_PHP_VERSION ${NC}"
    echo -e "$ARROW ${GREEN}Available Versions:${NC}"
    brew list | grep '^php[0-9]\{2,\}$' | grep -o -E '[0-9]+' | while read -r line ; do
        echo "  - $line"
    done
else
    echo -e "$ARROW ${GREEN}Switching PHP from $CURRENT_PHP_VERSION to $VERSION ${NC}"
    brew services stop php$CURRENT_PHP_VERSION
    brew unlink php$CURRENT_PHP_VERSION
    brew link php$VERSION
    valet restart
    echo -e "$ARROW ${GREEN}Done, you are now using PHP version $VERSION. ${NC}"
fi
