From 763fcc0f78fe49739e5d47a257e3f3fd3a89464e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Asbj=C3=B8rn=20Apeland?= Date: Fri, 1 Feb 2019 14:30:29 +0100 Subject: [PATCH] fzy: empty output if no valid selection necessary if not this issue leads to change in upstream `fzy`: https://github.com/jhawthorn/fzy/issues/105 --- .shrc.d/80aude.sh | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/.shrc.d/80aude.sh b/.shrc.d/80aude.sh index d883776..36b25e9 100644 --- a/.shrc.d/80aude.sh +++ b/.shrc.d/80aude.sh @@ -106,7 +106,7 @@ function print_files() { function choose() { # check for actual binaries, aliases and stuff won't work without if /usr/bin/which fzy >/dev/null 2>&1; then - fzy + fzy | exists | is_not_empty elif /usr/bin/which fzf >/dev/null 2>&1; then fzf --cycle else @@ -118,6 +118,24 @@ function choose() { function select_file() { print_files 2>/dev/null | choose } +# helper functions +function exists() { + while read -r file; do + if [ -e "$file" ]; then + printf '%s\n' "$file" + fi + done +} +function is_not_empty() { + empty='true' + while read -r line; do + printf '%s\n' "$line" + empty='false' + done + if "$empty"; then + return 1 + fi +} # if BASH if [[ -n $BASH_VERSION ]]; then