zsh/Functions/Chpwd/zsh_directory_name_cdr

27 lines
599 B
Plaintext

if [[ $1 = n ]]; then
if [[ $2 = <-> ]]; then
# Recent directory
autoload -Uz cdr
cdr -r
if [[ -n ${reply[$2]} ]]; then
typeset -ga reply=(${reply[$2]})
return 0
else
typeset -ga reply=()
return 1
fi
fi
elif [[ $1 = c ]]; then
if [[ $PREFIX = <-> || -z $PREFIX ]]; then
typeset -a keys values
values=(${${(f)"$(cdr -l)"}/ ##/:})
keys=(${values%%:*})
local addsuffix
[[ $ISUFFIX = *\]* ]] || addsuffix='-S]'
_describe -t dir-index 'recent directory index' \
values -V unsorted $addsuffix
return
fi
fi
return 1