tv bash-fzf-history: use array instead of extglob

This commit is contained in:
tv 2019-02-05 11:53:31 +01:00 committed by lassulus
parent 72de16e0a4
commit 6cfbc67cb2
1 changed files with 13 additions and 9 deletions

View File

@ -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