mirror of
https://github.com/zsh-users/zsh
synced 2024-09-30 05:06:09 +00:00
Handle directory stack entries
This commit is contained in:
parent
ffaba98e72
commit
0956e0339a
|
@ -170,6 +170,23 @@ if [[ "$pre[1]" = \~ ]]; then
|
|||
realpath="${userdirs[$linepath]%/}/"
|
||||
elif (( $+nameddirs[$linepath] )); then
|
||||
realpath="${nameddirs[$linepath]%/}/"
|
||||
elif [[ "$linepath" = [-+][0-9]## ]]; then
|
||||
if [[ "$linepath" = -* ]]; then
|
||||
tmp=$(( $#dirstack $linepath ))
|
||||
else
|
||||
tmp=$linepath[2,-1]
|
||||
fi
|
||||
[[ -o pushdminus ]] && tmp=$(( $#dirstack - $tmp ))
|
||||
if (( ! tmp )); then
|
||||
realpath=$PWD/
|
||||
elif [[ tmp -le $#dirstack ]]; then
|
||||
realpath=$dirstack[tmp]/
|
||||
else
|
||||
_message 'not directory stack entries'
|
||||
return 1
|
||||
fi
|
||||
elif [[ "$linepath" = [-+] ]]; then
|
||||
realpath=${~:-\~$linepath}/
|
||||
else
|
||||
_message "unknown user \`$linepath'"
|
||||
return 1
|
||||
|
|
Loading…
Reference in a new issue