2021-01-08 18:04:51 +08:00
|
|
|
homebrew-items() {
|
|
|
|
local items
|
|
|
|
local sed_extended_regex_flag
|
2021-09-13 20:32:20 +08:00
|
|
|
local find_filter="$1"
|
|
|
|
local sed_filter="$2"
|
|
|
|
local grep_filter="$3"
|
2021-01-08 18:04:51 +08:00
|
|
|
|
2021-04-17 20:56:56 +09:00
|
|
|
# HOMEBREW_MACOS is set by brew.sh
|
|
|
|
# shellcheck disable=SC2154
|
2021-09-13 20:32:20 +08:00
|
|
|
if [[ -n "${HOMEBREW_MACOS}" ]]
|
|
|
|
then
|
2021-01-08 18:04:51 +08:00
|
|
|
sed_extended_regex_flag="-E"
|
|
|
|
else
|
|
|
|
sed_extended_regex_flag="-r"
|
|
|
|
fi
|
|
|
|
|
2021-04-17 20:56:56 +09:00
|
|
|
# HOMEBREW_REPOSITORY is set by brew.sh
|
|
|
|
# shellcheck disable=SC2154
|
2021-09-13 20:32:20 +08:00
|
|
|
items="$(
|
2021-04-17 20:56:56 +09:00
|
|
|
find "${HOMEBREW_REPOSITORY}/Library/Taps" \
|
2021-09-16 01:08:02 +08:00
|
|
|
-type d \( \
|
|
|
|
-name "${find_filter}" -o \
|
|
|
|
-name cmd -o \
|
|
|
|
-name .github -o \
|
|
|
|
-name lib -o \
|
|
|
|
-name spec -o \
|
|
|
|
-name vendor \
|
|
|
|
\) \
|
|
|
|
-prune -false -o -name '*\.rb' |
|
2021-09-13 20:32:20 +08:00
|
|
|
sed "${sed_extended_regex_flag}" \
|
2021-09-16 01:08:02 +08:00
|
|
|
-e 's/\.rb//g' \
|
|
|
|
-e 's_.*/Taps/(.*)/(home|linux)brew-_\1/_' \
|
|
|
|
-e "${sed_filter}"
|
2021-01-08 18:04:51 +08:00
|
|
|
)"
|
|
|
|
local shortnames
|
2021-04-17 20:56:56 +09:00
|
|
|
shortnames="$(echo "${items}" | cut -d "/" -f 3)"
|
2021-09-13 20:32:20 +08:00
|
|
|
echo -e "${items}\n${shortnames}" |
|
|
|
|
grep -v "${grep_filter}" |
|
2021-01-08 18:04:51 +08:00
|
|
|
sort -uf
|
|
|
|
}
|