102 lines
1.9 KiB
Bash
102 lines
1.9 KiB
Bash
#!/usr/bin/env zsh
|
|
|
|
SITES_DIRECTORY="$HOME/Sites"
|
|
CONFIG_FILE="./.lando.yml"
|
|
|
|
# Enable wp command
|
|
function wp() {
|
|
if checkForFile $CONFIG_FILE $SITES_DIRECTORY ; then
|
|
lando wp "$@"
|
|
else
|
|
command wp "$@"
|
|
fi
|
|
}
|
|
|
|
# Enable composer command
|
|
function composer() {
|
|
if checkForFile $CONFIG_FILE $SITES_DIRECTORY ; then
|
|
lando composer "$@"
|
|
else
|
|
command composer "$@"
|
|
fi
|
|
}
|
|
|
|
# Enable artisan command
|
|
function artisan() {
|
|
if checkForFile $CONFIG_FILE $SITES_DIRECTORY ; then
|
|
lando artisan "$@"
|
|
else
|
|
command artisan "$@"
|
|
fi
|
|
}
|
|
|
|
# Enable yarn command
|
|
function yarn() {
|
|
if checkForFile $CONFIG_FILE $SITES_DIRECTORY ; then
|
|
lando yarn "$@"
|
|
else
|
|
command yarn "$@"
|
|
fi
|
|
}
|
|
|
|
# Enable npm command
|
|
function npm() {
|
|
if checkForFile $CONFIG_FILE $SITES_DIRECTORY ; then
|
|
lando npm "$@"
|
|
else
|
|
command npm "$@"
|
|
fi
|
|
}
|
|
|
|
# Enable gulp command
|
|
function gulp() {
|
|
if checkForFile $CONFIG_FILE $SITES_DIRECTORY ; then
|
|
lando gulp "$@"
|
|
else
|
|
command gulp "$@"
|
|
fi
|
|
}
|
|
|
|
|
|
checkForFile() {
|
|
local current_directory="$PWD"
|
|
|
|
# Bash is backwards. 0 is true 1 (non-zero) is false.
|
|
flag="1"
|
|
|
|
# Only bother checking for lando within the Sites directory.
|
|
if [[ ":$PWD:" == *":$2"* ]]; then
|
|
echo "Checking for file: $1 within $2..."
|
|
|
|
while true; do
|
|
if [ $current_directory != "$2" ]; then
|
|
if [ -f "$current_directory/$1" ]; then
|
|
return "0"
|
|
fi
|
|
current_directory="$(dirname $current_directory)"
|
|
else
|
|
break;
|
|
fi
|
|
done
|
|
|
|
if [[ "$flag" == "1" ]]; then
|
|
echo "Could not find $1 in the current directory or in any of its parents up to $2."
|
|
fi
|
|
else
|
|
echo "Checking for file: $1"
|
|
|
|
if [ -f "$1" ]; then
|
|
echo "Found it"
|
|
return 0
|
|
else
|
|
echo "Not Found"
|
|
return "1"
|
|
fi
|
|
|
|
if [[ "$flag" == "1" ]]; then
|
|
echo "Could not find $1."
|
|
fi
|
|
fi
|
|
|
|
return $flag
|
|
}
|