annotate dot_config/private_fish/functions/fzf_cdhist.fish @ 1045:7db5c9c8016f

feat: Add fzf cd history picker
author Zeger Van de Vannet <zeger@vandevan.net>
date Sat, 04 May 2024 11:47:05 +0200
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1045
7db5c9c8016f feat: Add fzf cd history picker
Zeger Van de Vannet <zeger@vandevan.net>
parents:
diff changeset
1 function fzf_cdhist-d 'cd to one of the previously visited locations'
7db5c9c8016f feat: Add fzf cd history picker
Zeger Van de Vannet <zeger@vandevan.net>
parents:
diff changeset
2 # Clear non-existent folders from cdhist.
7db5c9c8016f feat: Add fzf cd history picker
Zeger Van de Vannet <zeger@vandevan.net>
parents:
diff changeset
3 set -l buf
7db5c9c8016f feat: Add fzf cd history picker
Zeger Van de Vannet <zeger@vandevan.net>
parents:
diff changeset
4 for i in (seq 1 (count $dirprev))
7db5c9c8016f feat: Add fzf cd history picker
Zeger Van de Vannet <zeger@vandevan.net>
parents:
diff changeset
5 set -l dir $dirprev[$i]
7db5c9c8016f feat: Add fzf cd history picker
Zeger Van de Vannet <zeger@vandevan.net>
parents:
diff changeset
6 if test -d $dir
7db5c9c8016f feat: Add fzf cd history picker
Zeger Van de Vannet <zeger@vandevan.net>
parents:
diff changeset
7 set buf $buf $dir
7db5c9c8016f feat: Add fzf cd history picker
Zeger Van de Vannet <zeger@vandevan.net>
parents:
diff changeset
8 end
7db5c9c8016f feat: Add fzf cd history picker
Zeger Van de Vannet <zeger@vandevan.net>
parents:
diff changeset
9 end
7db5c9c8016f feat: Add fzf cd history picker
Zeger Van de Vannet <zeger@vandevan.net>
parents:
diff changeset
10 set dirprev $buf
7db5c9c8016f feat: Add fzf cd history picker
Zeger Van de Vannet <zeger@vandevan.net>
parents:
diff changeset
11 string join \n $dirprev | tac | sed 1d | eval (__fzfcmd) +m --tiebreak=index --toggle-sort=ctrl-r $FZF_CDHIST_OPTS | read -l result
7db5c9c8016f feat: Add fzf cd history picker
Zeger Van de Vannet <zeger@vandevan.net>
parents:
diff changeset
12 [ "$result" ]; and cd $result
7db5c9c8016f feat: Add fzf cd history picker
Zeger Van de Vannet <zeger@vandevan.net>
parents:
diff changeset
13 commandline -f repaint
7db5c9c8016f feat: Add fzf cd history picker
Zeger Van de Vannet <zeger@vandevan.net>
parents:
diff changeset
14 end