Improve pushd completions

Add completions for rotating and swapping the stack.
This commit is contained in:
Derek Harland 2015-09-26 14:39:01 +12:00 committed by Fabian Homborg
parent 176e34cf73
commit e75108fc4c

View file

@ -1 +1,28 @@
complete -c pushd -x -a "(__fish_complete_cd)"
function __fish_complete_pushd_plus
if count $dirstack > /dev/null
# TODO: Shift to using string replace when released
#
# print each member of the stack, replace $HOME with ~
for i in (seq (count $dirstack))
echo +$i\tRotate to (echo $dirstack[$i] | sed -e "s|^$HOME|~|")
end
end
end
function __fish_complete_pushd_swap
if count $dirstack > /dev/null
# TODO: Shift to using string replace when released
#
# replace $HOME with ~
echo ''\tSwap with (echo $dirstack[1] | sed -e "s|^$HOME|~|")
end
end
# support pushd <dir>
complete -c pushd -a "(__fish_complete_cd)"
# support pushd <>
complete -c pushd -a '(__fish_complete_pushd_swap)'
# support pushd <+n>
complete -c pushd -a '(__fish_complete_pushd_plus)'