|
|
|
|
@ -19,15 +19,17 @@ export DIRHISTORY_SIZE=30 |
|
|
|
|
# Returns the element if the array was not empty, |
|
|
|
|
# otherwise returns empty string. |
|
|
|
|
function pop_past() { |
|
|
|
|
typeset -g $1="${dirhistory_past[$#dirhistory_past]}" |
|
|
|
|
setopt localoptions no_ksh_arrays |
|
|
|
|
if [[ $#dirhistory_past -gt 0 ]]; then |
|
|
|
|
typeset -g $1="${dirhistory_past[$#dirhistory_past]}" |
|
|
|
|
dirhistory_past[$#dirhistory_past]=() |
|
|
|
|
fi |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
function pop_future() { |
|
|
|
|
typeset -g $1="${dirhistory_future[$#dirhistory_future]}" |
|
|
|
|
setopt localoptions no_ksh_arrays |
|
|
|
|
if [[ $#dirhistory_future -gt 0 ]]; then |
|
|
|
|
typeset -g $1="${dirhistory_future[$#dirhistory_future]}" |
|
|
|
|
dirhistory_future[$#dirhistory_future]=() |
|
|
|
|
fi |
|
|
|
|
} |
|
|
|
|
@ -35,6 +37,7 @@ function pop_future() { |
|
|
|
|
# Push a new element onto the end of dirhistory_past. If the size of the array |
|
|
|
|
# is >= DIRHISTORY_SIZE, the array is shifted |
|
|
|
|
function push_past() { |
|
|
|
|
setopt localoptions no_ksh_arrays |
|
|
|
|
if [[ $#dirhistory_past -ge $DIRHISTORY_SIZE ]]; then |
|
|
|
|
shift dirhistory_past |
|
|
|
|
fi |
|
|
|
|
@ -44,6 +47,7 @@ function push_past() { |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
function push_future() { |
|
|
|
|
setopt localoptions no_ksh_arrays |
|
|
|
|
if [[ $#dirhistory_future -ge $DIRHISTORY_SIZE ]]; then |
|
|
|
|
shift dirhistory_future |
|
|
|
|
fi |
|
|
|
|
|