aboutsummaryrefslogtreecommitdiff
path: root/kiss
diff options
context:
space:
mode:
authordylan.araps@gmail.com <dylan.araps@gmail.com>2019-10-01 19:40:23 +0000
committerdylan.araps@gmail.com <dylan.araps@gmail.com>2019-10-01 19:40:23 +0000
commit695324c57c66d55cb5caeb4eb4a3c2895fce18b1 (patch)
tree48ce65b159c1f5cf258288d1ab94c68ffafdb53d /kiss
parentbc5a4edc5e935a4e66720b5bcd4fe16bc2955bfe (diff)
downloadcpt-695324c57c66d55cb5caeb4eb4a3c2895fce18b1.tar.gz
search: show all matches
FossilOrigin-Name: af4246c0e0b1937539bb1384baeb742a6e35999adbc9e51cf559fd127e2063c4
Diffstat (limited to 'kiss')
-rwxr-xr-xkiss18
1 files changed, 14 insertions, 4 deletions
diff --git a/kiss b/kiss
index b3967bd..a05a46a 100755
--- a/kiss
+++ b/kiss
@@ -72,18 +72,28 @@ pkg_find() {
# in $KISS_PATH/*.
[ "$KISS_PATH" ] || die "\$KISS_PATH needs to be set"
+ # Turn the argument list into variables as we reset
+ # the list below.
+ query=$1
+ match=$2
+
# Find the repository containing a package.
# Searches installed packages if the package is absent
# from the repositories.
# See [1] at top of script.
# shellcheck disable=2046,2086
- set -- "$1" $(IFS=:; find $KISS_PATH "$sys_db" -maxdepth 1 -name "$1")
+ set -- $(IFS=:; find $KISS_PATH "$sys_db" -maxdepth 1 -name "$1")
# A package may also not be found due to a repository not being
# readable by the current user. Either way, we need to die here.
- [ "$2" ] || die "Package '$1' not in any repository"
+ [ "$1" ] || die "Package '$query' not in any repository"
- printf '%s\n' "$2"
+ # Show all search results if called from 'kiss search', else
+ # print only the first match.
+ case $match in
+ all) printf '%s\n' "$@" ;;
+ *) printf '%s\n' "$1" ;;
+ esac
}
pkg_list() {
@@ -949,7 +959,7 @@ args() {
;;
s|search)
- for pkg; do pkg_find "$pkg"; done
+ for pkg; do pkg_find "$pkg" all; done
;;
v|version|-v|--version)