diff --git a/plugins/wd/README.md b/plugins/wd/README.md index ed149eb3e..935dadd1b 100644 --- a/plugins/wd/README.md +++ b/plugins/wd/README.md @@ -1,5 +1,4 @@ -wd -== +# wd plugin [![Build Status](https://travis-ci.org/mfaerevaag/wd.png?branch=master)](https://travis-ci.org/mfaerevaag/wd) @@ -68,6 +67,8 @@ Also, you may have to force a rebuild of `zcompdump` by running: Note, a warp point cannot contain colons, or only consist of only spaces and dots. The first will conflict in how `wd` stores the warp points, and the second will conflict other features, as below. + You can omit the point name to use the current directory's name instead. + * From an other directory (not necessarily), warp to `foo` with: $ wd foo @@ -78,12 +79,14 @@ Also, you may have to force a rebuild of `zcompdump` by running: $ wd ... This is a wrapper for the zsh `dirs` function. - (You might need `setopt AUTO_PUSHD` in your `.zshrc` if you hare not using [oh-my-zshell](https://github.com/robbyrussell/oh-my-zsh)). + (You might need `setopt AUTO_PUSHD` in your `.zshrc` if you are not using [Oh My Zsh](https://github.com/robbyrussell/oh-my-zsh)). * Remove warp point test point: $ wd rm foo + You can omit the point name to use the current directory's name instead. + * List all warp points (stored in `~/.warprc`): $ wd list diff --git a/plugins/wd/wd.sh b/plugins/wd/wd.sh index cf54713bd..1991ced1b 100755 --- a/plugins/wd/wd.sh +++ b/plugins/wd/wd.sh @@ -72,25 +72,28 @@ wd_print_msg() wd_print_usage() { cat <<- EOF -Usage: wd [command] +Usage: wd [command] [point] Commands: - add Adds the current working directory to your warp points - add! Overwrites existing warp point - rm Removes the given warp point - show Print warp points to current directory - show Print path to given warp point - list Print all stored warp points -ls Show files from given warp point -path Show the path to given warp point - clean! Remove points warping to nonexistent directories + add Adds the current working directory to your warp points + add Adds the current working directory to your warp points with current directory's name + add! Overwrites existing warp point + add! Overwrites existing warp point with current directory's name + rm Removes the given warp point + rm Removes the given warp point with current directory's name + show Print path to given warp point + show Print warp points to current directory + list Print all stored warp points + ls Show files from given warp point (ls) + path Show the path to given warp point (pwd) + clean! Remove points warping to nonexistent directories - -v | --version Print version - -d | --debug Exit after execution with exit codes (for testing) - -c | --config Specify config file (default ~/.warprc) - -q | --quiet Suppress all output + -v | --version Print version + -d | --debug Exit after execution with exit codes (for testing) + -c | --config Specify config file (default ~/.warprc) + -q | --quiet Suppress all output - help Show this extremely helpful text + help Show this extremely helpful text EOF } @@ -154,6 +157,11 @@ wd_add() local force=$1 local point=$2 + if [[ $point == "" ]] + then + point=$(basename $(pwd)) + fi + if [[ $point =~ "^[\.]+$" ]] then wd_exit_fail "Warp point cannot be just dots" @@ -163,9 +171,6 @@ wd_add() elif [[ $point == *:* ]] then wd_exit_fail "Warp point cannot contain colons" - elif [[ $point == "" ]] - then - wd_exit_fail "Warp point cannot be empty" elif [[ ${points[$2]} == "" ]] || $force then wd_remove $point > /dev/null @@ -183,7 +188,12 @@ wd_add() wd_remove() { - local point=$1 + local point=$2 + + if [[ $point == "" ]] + then + point=$(basename $(pwd)) + fi if [[ ${points[$point]} != "" ]] then