aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormerakor <cem@ckyln.com>2020-11-03 14:28:00 +0000
committermerakor <cem@ckyln.com>2020-11-03 14:28:00 +0000
commit76dd7e5a7cd0ea088f7d9d857b7ad6a84a03b611 (patch)
tree6a36c85055ca4420b3985c665d2ffc1efdc62716
parentc5843a6907de84fad553cb3e4d3f080f55e78945 (diff)
downloadcpt-76dd7e5a7cd0ea088f7d9d857b7ad6a84a03b611.tar.gz
cpt-search: add '--others' option
If cpt-search was called from a package directory, adding the '-o' option makes it output only the other instances of the package. FossilOrigin-Name: edf17ee77fb06aecbc6d409d49390aea2719af012ca8be2b7daf1dbda88da269
-rwxr-xr-xsrc/cpt-search13
1 files changed, 12 insertions, 1 deletions
diff --git a/src/cpt-search b/src/cpt-search
index 9252da7..f943aca 100755
--- a/src/cpt-search
+++ b/src/cpt-search
@@ -7,6 +7,8 @@ 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
}
@@ -17,4 +19,13 @@ eval set -- "$REST"
# The 'all' variable is set by the option parser.
# shellcheck disable=2154
-for pkg; do pkg_find "$pkg" "${all:+all}"; done
+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