summaryrefslogtreecommitdiff
path: root/.config/shells/zsh/plugins/fzf-tab/test/select
diff options
context:
space:
mode:
Diffstat (limited to '.config/shells/zsh/plugins/fzf-tab/test/select')
-rwxr-xr-x.config/shells/zsh/plugins/fzf-tab/test/select32
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