brew/Library/Homebrew/cmd/--repository.sh

45 lines
896 B
Bash
Raw Normal View History

#: * `--repository`, `--repo` [<tap> ...]
#:
#: Display where Homebrew's Git repository is located.
#:
#: If <user>`/`<repo> are provided, display where tap <user>`/`<repo>'s directory is located.
# HOMEBREW_REPOSITORY, HOMEBREW_LIBRARY are set by brew.sh
# shellcheck disable=SC2154
tap_path() {
local tap="$1"
local user
local repo
local part
user="$(echo "${tap%%/*}" | tr '[:upper:]' '[:lower:]')"
repo="$(echo "${tap#*/}" | tr '[:upper:]' '[:lower:]')"
for part in "${user}" "${repo}"
do
if [[ -z "${part}" || "${part}" == *"/"* ]]
then
odie "Invalid tap name: ${tap}"
fi
done
repo="${repo#(home|linux)brew-}"
echo "${HOMEBREW_LIBRARY}/Taps/${user}/homebrew-${repo}"
}
homebrew---repository() {
local tap
if [[ "$#" -eq 0 ]]
then
echo "${HOMEBREW_REPOSITORY}"
return
fi
for tap in "$@"
do
tap_path "${tap}"
done
}