From 7213eaadd63c097ad5f01605fafeb4c0c9d6f986 Mon Sep 17 00:00:00 2001 From: Bruce Hill Date: Fri, 8 Nov 2019 16:29:20 +0100 Subject: Fixed up loading/saving selections --- bindings.bb | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/bindings.bb b/bindings.bb index e87c7b2..dc66549 100644 --- a/bindings.bb +++ b/bindings.bb @@ -67,11 +67,13 @@ v,V,Space: # Toggle selection at cursor Escape: # Clear selection bb +deselect Ctrl-s: # Save the selection - [ $# -gt 0 ] && ask savename "Save selection as: " && printf '%s\0' "$@" > ~/.config/bb/"$savename" + [ $# -gt 0 ] && ask savename "Save selection as: " || exit 1 + if ! expr "$savename" : ".*\.sel" >/dev/null; then savename="$savename.sel"; fi + printf '%s\0' "$@" > ~/.config/bb/"$savename" Ctrl-o: # Open a saved selection - loadpath="$(printf '%s\0' ~/.config/bb/* | pick "Load selection: ")" && - [ -e "$loadpath" ] && bb +deselect && - while IFS= read -r -d $'\0'; do bb +select:"$REPLY"; done < "$loadpath" + [ $# -gt 0 ] && ! confirm "The current selection will be discarded. " && exit 1 + loadpath="$(find ~/.config/bb/ -name '*.sel' -exec basename -az '{}' ';' | pick "Load selection: ")" && + cat ~/.config/bb/"$loadpath" | bb +deselect +select: J: # Spread selection down bb +spread:+1 K: # Spread selection up -- cgit v1.2.3