diff options
author | tv <tv@krebsco.de> | 2019-02-05 11:53:31 +0100 |
---|---|---|
committer | tv <tv@krebsco.de> | 2019-02-05 11:53:31 +0100 |
commit | ab496ae3fe25bc80ba4be2bfd6eb2a0292f3f8ca (patch) | |
tree | fbac11ce52f385fc5ea3f416384612a98d22c6f3 /tv | |
parent | b4558157292b1019cf50218105c388a629f86d13 (diff) |
tv bash-fzf-history: use array instead of extglob
Diffstat (limited to 'tv')
-rw-r--r-- | tv/5pkgs/simple/bash-fzf-history.nix | 22 |
1 files changed, 13 insertions, 9 deletions
diff --git a/tv/5pkgs/simple/bash-fzf-history.nix b/tv/5pkgs/simple/bash-fzf-history.nix index e9a21b9..8b3fe9e 100644 --- a/tv/5pkgs/simple/bash-fzf-history.nix +++ b/tv/5pkgs/simple/bash-fzf-history.nix @@ -33,7 +33,8 @@ with import <stockholm/lib>; ]}' __fzf_history__() ( - result=$( + IFS=$'\n' + result=( $( HISTTIMEFORMAT= history | FZF_DEFAULT_OPTS="${toString [ /* sh */ "--tac" @@ -45,15 +46,18 @@ with import <stockholm/lib>; /* sh */ "$FZF_DEFAULT_OPTS" /* sh */ "+m" ]}" \ - ${pkgs.fzf}/bin/fzf - ) + ${pkgs.fzf}/bin/fzf | + ${pkgs.gnused}/bin/sed ' + /^ *[0-9]/{ + s/^ *// + s/ \+/\n/;# index + } + ' + ) ) if test -n "$result"; then - shopt -s extglob - - key=''${result%%$'\n'*} - line=''${result##*([^0-9])} - index=''${line%%[^0-9]*} - command=''${line##*([0-9 ])} + key=''${result[0]} + index=''${result[1]} + command=''${result[2]} echo "$command${mark-prefix}$key" else |