blob: f943aca414d7508b929d2e54c67173b392c830df (
plain)
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
|
#!/bin/sh -ef
# Search for a package
if [ -f ./cpt-lib ]; then . ./cpt-lib; else . cpt-lib; fi
parser_definition() {
setup REST help:usage -- "usage: ${0##*/} [pkg...]"
msg -- '' 'Options:'
flag all -s --single init:=1 on:'' -- "Only show the first instance of a package"
flag others -o --others -- "Use the current directory as the package" \
"and show other instances"
global_options
}
eval "$(getoptions parser_definition parse "$0")"
parse "$@"
eval set -- "$REST"
# The 'all' variable is set by the option parser.
# shellcheck disable=2154
case $others in
'') for pkg; do pkg_find "$pkg" "${all:+all}"; done ;;
*) pkg_find "${PWD##*/}" all |
while read -r pkg_dir; do case $pkg_dir in
"$PWD") ;;
*) printf '%s\n' "$pkg_dir"
[ "$all" ] || exit 0
esac
done
esac
|