diff options
author | 2006-02-08 19:20:05 +1000 | |
---|---|---|
committer | 2006-02-08 19:20:05 +1000 | |
commit | 73a9c8bcb8d3d8db967fcc5cc9dd5e8db645400f (patch) | |
tree | 13862f394dca16b0c9bae427f86fbbecdfc9ac03 /init/functions/__fish_move_last.fish | |
parent | 47b652c76e240e16875734f7ca251bab97ae6309 (diff) |
Autoloaded functions
darcs-hash:20060208092005-ac50b-8e784f79a4e158c8c15b553fad85002dccc7bd03.gz
Diffstat (limited to 'init/functions/__fish_move_last.fish')
-rw-r--r-- | init/functions/__fish_move_last.fish | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/init/functions/__fish_move_last.fish b/init/functions/__fish_move_last.fish new file mode 100644 index 00000000..965072cd --- /dev/null +++ b/init/functions/__fish_move_last.fish @@ -0,0 +1,27 @@ +function __fish_move_last -d "Move the last element of a directory history from src to dest" + set -l src $argv[1] + set -l dest $argv[2] + + set -l size_src (count $$src) + + if test $size_src = 0 + # Cannot make this step + printf (_ "Hit end of history...\n") + return 1 + end + + # Append current dir to the end of the destination + set -g (echo $dest) $$dest (command pwd) + + set ssrc $$src + + # Change dir to the last entry in the source dir-hist + builtin cd $ssrc[$size_src] + + # Keep all but the last from the source dir-hist + set -e (echo $src)[$size_src] + + # All ok, return success + return 0 +end + |