diff options
author | dylan.araps@gmail.com <dylan.araps@gmail.com> | 2019-10-01 19:40:23 +0000 |
---|---|---|
committer | dylan.araps@gmail.com <dylan.araps@gmail.com> | 2019-10-01 19:40:23 +0000 |
commit | 695324c57c66d55cb5caeb4eb4a3c2895fce18b1 (patch) | |
tree | 48ce65b159c1f5cf258288d1ab94c68ffafdb53d /kiss | |
parent | bc5a4edc5e935a4e66720b5bcd4fe16bc2955bfe (diff) | |
download | cpt-695324c57c66d55cb5caeb4eb4a3c2895fce18b1.tar.gz |
search: show all matches
FossilOrigin-Name: af4246c0e0b1937539bb1384baeb742a6e35999adbc9e51cf559fd127e2063c4
Diffstat (limited to 'kiss')
-rwxr-xr-x | kiss | 18 |
1 files changed, 14 insertions, 4 deletions
@@ -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) |