From 76dd7e5a7cd0ea088f7d9d857b7ad6a84a03b611 Mon Sep 17 00:00:00 2001 From: merakor Date: Tue, 3 Nov 2020 14:28:00 +0000 Subject: 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 --- src/cpt-search | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) 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 -- cgit v1.2.3