fish-shell/share/functions/dirh.fish
2012-11-18 11:23:22 +01:00

38 lines
845 B
Fish

function dirh --description "Print the current directory history (the back- and fwd- lists)"
if count $argv >/dev/null
switch $argv[1]
case -h --h --he --hel --help
__fish_print_help dirh
return 0
end
end
# Avoid set comment
set -l current (command pwd)
set -l separator " "
set -l line_len (math (count $dirprev) + (echo $dirprev $current $dirnext | wc -m) )
if test $line_len -gt $COLUMNS
# Print one entry per line if history is long
set separator "\n"
end
for i in $dirprev
echo -n -e $i$separator
end
set_color $fish_color_history_current
echo -n -e $current$separator
set_color normal
# BSD seq 0 outputs '1 0' instead of nothing
if count $dirnext > /dev/null
for i in (seq (echo (count $dirnext)) -1 1)
echo -n -e $dirnext[$i]$separator
end
end
echo
end