Mercurial > dotfiles
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 |
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 |