diff options
Diffstat (limited to '.config/shells/zsh/plugins/fzf-tab/test/select')
| -rwxr-xr-x | .config/shells/zsh/plugins/fzf-tab/test/select | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/.config/shells/zsh/plugins/fzf-tab/test/select b/.config/shells/zsh/plugins/fzf-tab/test/select new file mode 100755 index 0000000..d06d4e9 --- /dev/null +++ b/.config/shells/zsh/plugins/fzf-tab/test/select @@ -0,0 +1,32 @@ +#!/usr/bin/env zsh + +zmodload zsh/zutil + +local -A headers range query + +zparseopts -E h:=headers n:=range q:=query e:=expect + +print -r -- "${query//\"/}" +print -r -- "$expect" +print -r -- "<QUERY>${query//\"/}</QUERY>" >&2 + +local -a lines=() +while read input; do + lines+=(${input%$'\033[00m'}) +done + +for ((i = 1; i <= headers; i++)); do + print -r -- $lines[i] >&2 +done + +lines[1,headers]=() + +for i in {1..$#lines}; do + print -r -- ${lines[i]//$'\0'}"<EC>" >&2 +done + +if [[ $range != QUERY ]]; then + for i in ${(s:,:)range}; do + print -r -- $lines[i] + done +fi |
