summary refs log tree commit diff
path: root/Functions/Chpwd/zsh_directory_name_cdr
blob: c9be7db0c21898c0c0bf6fd08e2c1e37b6bab638 (plain) (blame)
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
if [[ $1 = n ]]; then
  if [[ $2 = <-> ]]; then
    # Recent directory
    typeset -ga reply
    autoload -Uz cdr
    cdr -r
    if [[ -n ${reply[$2]} ]]; then
      reply=(${reply[$2]})
      return 0
    else
      reply=()
      return 1
    fi
  fi
elif [[ $1 = c ]]; then
  if [[ $PREFIX = <-> || -z $PREFIX ]]; then
    typeset -a keys values
    values=(${${(f)"$(cdr -l)"}/ ##/:})
    keys=(${values%%:*})
    _describe -t dir-index 'recent directory index' \
      values -V unsorted -S']'
    return
  fi
fi
return 1