blob: bb020c0aa581c771cd897c0ca8c170db03c55474 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
# pushd function to emulate the old zsh behaviour. With this function
# pushd +/-n just lifts the selected element to the top of the stack
# instead of just cycling the stack.
local puid
[[ -o pushdignoredups ]] && puid=1
emulate -R zsh
setopt localoptions
if [[ ARGC -eq 1 && "$1" == [+-]<-> ]] then
setopt pushdignoredups
builtin pushd ~$1
else
[[ -n $puid ]] && setopt pushdignoredups
builtin pushd "$@"
fi
|