diff options
Diffstat (limited to 'dotfiles/system/.zsh/lib/ftb-switch-group')
| -rw-r--r-- | dotfiles/system/.zsh/lib/ftb-switch-group | 38 |
1 files changed, 0 insertions, 38 deletions
diff --git a/dotfiles/system/.zsh/lib/ftb-switch-group b/dotfiles/system/.zsh/lib/ftb-switch-group deleted file mode 100644 index 8d06956..0000000 --- a/dotfiles/system/.zsh/lib/ftb-switch-group +++ /dev/null @@ -1,38 +0,0 @@ -#!/hint/zsh -emulate -L zsh -o extended_glob - -zmodload zsh/mapfile - -# receive arguments -local pid=$1 header_lines=$2 tmp_dir=$3 offset=$@[-1] - -# read completion list -local -a list=(${(f)mapfile[$tmp_dir/completions.$pid]}) - -# get total group count -if (( $#list > 10000 )); then - local -Ua total=(${(f)"$(print -l ${list:$header_lines} | grep -a -oP '^\x1b\[[0-9;]*m')"}) -else - local -Ua total=(${(M)${list:$header_lines}#$'\x1b['[0-9;]#*m}) -fi - -# get current group index, start from 2 -local current=2 -if [[ -f $tmp_dir/current-group.$pid ]]; then - current=$(( $(<$tmp_dir/current-group.$pid) + offset )) -fi -(( current > $#total )) && current=1 -(( current == 0 )) && current=$#total -echo $current > $tmp_dir/current-group.$pid - -# print headers -if (( header_lines != 0 )); then - print -l ${list[1,header_lines]/${total[current]}/$'\x1b[1m'} -fi - -# print current group -if (( $#list > 10000 )); then - print -l ${list:$header_lines} | grep -a -F "${total[current]}" -else - print -l ${(M)${list:$header_lines}:#${total[current]}*} -fi |
