summaryrefslogtreecommitdiff
path: root/.config/shells/zsh/plugins/fzf-tab/test/select
blob: d06d4e9c174cb8c538dcc873eefbef255adfa447 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
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