tmux-dev-env-configuration/dotfiles/.config/fish/functions/__fastdir_cd_num.fish

25 lines
534 B
Fish
Executable File

function __fastdir_cd_num
if not count $argv > /dev/null
echo "need directory name"
return 1
end
set -l current_dir_num (math (count $dirprev) + 1)
set -l dir_diff (math $argv[1] - $current_dir_num)
if test $dir_diff -gt 0
if test $dir_diff -gt (count $dirnext)
set dir_diff (count $dirnext)
end
return (nextd $dir_diff)
else if test $dir_diff -lt 0
set dir_diff (math 0 - $dir_diff)
if test $dir_diff -gt (count $dirprev)
set dir_diff (count $dirprev)
end
return (prevd $dir_diff)
end
return 0
end