/
items.sh
41 lines (39 loc) 路 1.02 KB
/
items.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
homebrew-items() {
local items
local sed_extended_regex_flag
local find_include_filter="$1"
local find_exclude_filter="$2"
local sed_filter="$3"
local grep_filter="$4"
# HOMEBREW_MACOS is set by brew.sh
# shellcheck disable=SC2154
if [[ -n "${HOMEBREW_MACOS}" ]]
then
sed_extended_regex_flag="-E"
else
sed_extended_regex_flag="-r"
fi
# HOMEBREW_REPOSITORY is set by brew.sh
# shellcheck disable=SC2154
items="$(
find "${HOMEBREW_REPOSITORY}/Library/Taps" \
-type d \( \
-name "${find_exclude_filter}" -o \
-name cmd -o \
-name .github -o \
-name lib -o \
-name spec -o \
-name vendor \
\) \
-prune -false -o -path "${find_include_filter}" |
sed "${sed_extended_regex_flag}" \
-e 's/\.rb//g' \
-e 's_.*/Taps/(.*)/(home|linux)brew-_\1/_' \
-e "${sed_filter}"
)"
local shortnames
shortnames="$(echo "${items}" | cut -d "/" -f 3)"
echo -e "${items}\n${shortnames}" |
grep -v "${grep_filter}" |
sort -uf
}