diff options
author | tv <tv@krebsco.de> | 2019-02-05 11:53:31 +0100 |
---|---|---|
committer | lassulus <lassulus@lassul.us> | 2019-02-08 05:19:48 +0100 |
commit | 6cfbc67cb236671af6781bd6a5b628d5300f67ab (patch) | |
tree | 891aa2bff1aacb51359ff82bb662d4d9e3d2c37a /tv/5pkgs/simple/bash-fzf-history.nix | |
parent | 72de16e0a46a5f64e60df7eb27b0450b567c5ebb (diff) |
tv bash-fzf-history: use array instead of extglob
Diffstat (limited to 'tv/5pkgs/simple/bash-fzf-history.nix')
-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 e9a21b95d..8b3fe9e58 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 |