mirror of
https://github.com/fish-shell/fish-shell.git
synced 2024-11-23 10:00:43 +08:00
39 lines
849 B
Fish
39 lines
849 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
|
|
|