aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authormerakor <cem@ckyln.com>2020-11-03 14:31:34 +0000
committermerakor <cem@ckyln.com>2020-11-03 14:31:34 +0000
commitd4b35011ca8a4adc7df1c4e4817b725f08e2b761 (patch)
treeaff7bbc477a895ee18d6f145448208ae212f4fb7 /src
parente6c3a8bb955ad76aaf2f40472f3d675e494106a8 (diff)
parent76dd7e5a7cd0ea088f7d9d857b7ad6a84a03b611 (diff)
downloadcpt-d4b35011ca8a4adc7df1c4e4817b725f08e2b761.tar.gz
Merge branch 'master' into full-pkg-path
FossilOrigin-Name: 861b2bc770f19bdcec07c8739437eaf96250126303041e1d844ff5fbac7c6afd
Diffstat (limited to 'src')
-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