41 lines
1 KiB
Bash
41 lines
1 KiB
Bash
|
# Settings
|
||
|
: ${LANDO_ZSH_SITES_DIRECTORY:="$HOME/Sites"}
|
||
|
: ${LANDO_ZSH_CONFIG_FILE:=.lando.yml}
|
||
|
|
||
|
# Enable multiple commands with lando.
|
||
|
function artisan \
|
||
|
composer \
|
||
|
drush \
|
||
|
gulp \
|
||
|
npm \
|
||
|
php \
|
||
|
wp \
|
||
|
yarn {
|
||
|
if checkForLandoFile; then
|
||
|
lando "$0" "$@"
|
||
|
else
|
||
|
command "$0" "$@"
|
||
|
fi
|
||
|
}
|
||
|
|
||
|
# Check for the file in the current and parent directories.
|
||
|
checkForLandoFile() {
|
||
|
# Only bother checking for lando within the Sites directory.
|
||
|
if [[ "$PWD/" != "$LANDO_ZSH_SITES_DIRECTORY"/* ]]; then
|
||
|
# Not within $LANDO_ZSH_SITES_DIRECTORY
|
||
|
return 1
|
||
|
fi
|
||
|
|
||
|
local curr_dir="$PWD"
|
||
|
# Checking for file: $LANDO_ZSH_CONFIG_FILE within $LANDO_ZSH_SITES_DIRECTORY...
|
||
|
while [[ "$curr_dir" != "$LANDO_ZSH_SITES_DIRECTORY" ]]; do
|
||
|
if [[ -f "$curr_dir/$LANDO_ZSH_CONFIG_FILE" ]]; then
|
||
|
return 0
|
||
|
fi
|
||
|
curr_dir="${curr_dir:h}"
|
||
|
done
|
||
|
|
||
|
# Could not find $LANDO_ZSH_CONFIG_FILE in the current directory
|
||
|
# or in any of its parents up to $LANDO_ZSH_SITES_DIRECTORY.
|
||
|
return 1
|
||
|
}
|