brew/Library/Homebrew/items.sh

40 lines
1014 B
Bash
Raw Normal View History

2021-01-08 18:04:51 +08:00
homebrew-items() {
local items
local sed_extended_regex_flag
local find_filter=$1
local sed_filter=$2
local grep_filter=$3
2021-04-17 20:56:56 +09:00
# HOMEBREW_MACOS is set by brew.sh
# shellcheck disable=SC2154
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-01-08 18:04:51 +08:00
items="$( \
2021-04-17 20:56:56 +09:00
find "${HOMEBREW_REPOSITORY}/Library/Taps" \
2021-01-08 18:04:51 +08:00
-type d \( \
2021-04-17 20:56:56 +09:00
-name "${find_filter}" -o \
2021-01-08 18:04:51 +08:00
-name cmd -o \
-name .github -o \
-name lib -o \
-name spec -o \
-name vendor \
\) \
-prune -false -o -name '*\.rb' | \
2021-04-17 20:56:56 +09:00
sed "${sed_extended_regex_flag}" \
2021-01-08 18:04:51 +08:00
-e 's/\.rb//g' \
-e 's_.*/Taps/(.*)/(home|linux)brew-_\1/_' \
2021-04-17 20:56:56 +09:00
-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)"
echo -e "${items}\n${shortnames}" | \
grep -v "${grep_filter}" | \
2021-01-08 18:04:51 +08:00
sort -uf
}