From bcbdd99e5c08456e84ee881769b21fff8595e108 Mon Sep 17 00:00:00 2001 From: Dylan Araps Date: Sat, 18 Apr 2020 12:48:48 +0300 Subject: [PATCH] kiss: Allow partial matches for extensions. It is now possible to do 'kiss f' instead of 'kiss fork' to give a simple example. In the case where there is a conflict in single lettering, the first match will be used. This extends to 'kiss fo', 'kiss for' and so on. --- kiss | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/kiss b/kiss index b710812..b80bac9 100755 --- a/kiss +++ b/kiss @@ -1330,7 +1330,7 @@ args() { l|list) pkg_list "$@" ;; u|update) pkg_updates ;; s|search) for pkg do pkg_find "$pkg"; done ;; - v|version) log kiss 1.10.3 ;; + v|version) log kiss 1.11.0 ;; h|help|-h|--help|'') log 'kiss [a|b|c|i|l|r|s|u|v] [pkg] [pkg] [pkg]' @@ -1347,9 +1347,7 @@ args() { log "Installed extensions (kiss-* in \$PATH)" - KISS_PATH=$PATH - - for path in $(pkg_find kiss-\* all); do + for path in $(KISS_PATH=$PATH pkg_find kiss-\* all); do set -- "${path#*/kiss-}" "$@" max=$((${#1} > max ? ${#1} : max)) done @@ -1361,10 +1359,10 @@ args() { ;; *) - command -v "kiss-$action" >/dev/null || + util=$(KISS_PATH=$PATH pkg_find "kiss-$action*" 2>/dev/null) || die "'kiss $action' is not a valid command" - "kiss-$action" "$@" + "$util" "$@" ;; esac }