45 lines
896 B
Bash
45 lines
896 B
Bash
![]() |
#: * `--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
|
||
|
}
|