diff --git a/, b/, index 96751d8..05d28db 100755 --- a/, +++ b/, @@ -6,6 +6,17 @@ # If there are multiple candidates, the user chooses one using `fzy`. set -euo pipefail +picker=fzy +if [ -n "${COMMA_PICKER+1}" ]; then + picker="${COMMA_PICKER}" +fi + +# Test that the picker exists +if ! [ -x "$(command -v "${picker}")" ]; then + >&2 echo "picker ${picker} is not found in PATH" + exit 1 +fi + if [[ $# -lt 1 ]]; then >&2 echo "usage: , [arguments]" exit 1 @@ -34,7 +45,7 @@ case "${argv0}" in *) attr="$(nix-locate --db "${database}" --top-level --minimal --at-root --whole-name "/bin/${argv0}")" if [[ "$(echo "${attr}" | wc -l)" -ne 1 ]]; then - attr="$(echo "${attr}" | fzy)" + attr="$(echo "${attr}" | "${picker}")" fi ;; esac