aboutsummaryrefslogtreecommitdiffhomepage
path: root/share/functions/dirh.fish
blob: 5820176785a325e4cb0b9ea49f1a9921f9cdb818 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35

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

	for i in (seq (echo (count $dirnext)) -1 1)
		echo -n -e $dirnext[$i]$separator
	end

	echo
end