Commit b4ffe5cf authored by Markus Færevaag's avatar Markus Færevaag
Browse files

wd.plugin: Added checks, readme and completion

parent 240b25da
## wd
**Maintainer:** [mfaerevaag](https://github.com/mfaerevaag)
`wd` (warp directory) lets you jump to custom directories in zsh, without using cd. Why? Because cd seems ineffecient when the folder is frequently visited or has a long path. [Source](https://github.com/mfaerevaag/wd)
### Usage
* Add warp point to current working directory:
wd add test
If a warp point with the same name exists, use `add!` to overwrite it.
* From an other directory, warp to test with:
wd test
* You can warp back to previous directory, and so on, with the puncticulation syntax:
wd ..
wd ...
This is a wrapper for the zsh `dirs` function.
* Remove warp point test point:
wd rm test
* List warp points to current directory (stored in `~/.warprc`):
wd show
* List all warp points (stored in `~/.warprc`):
wd ls
* Print usage with no opts or the `help` argument.
#compdef wd.sh
zstyle ":completion:*:descriptions" format "%B%d%b"
CONFIG=$HOME/.warprc
local -a main_commands
main_commands=(
add:'Adds the current working directory to your warp points'
#add'\!':'Overwrites existing warp point' # TODO: Fix
rm:'Removes the given warp point'
ls:'Outputs all stored warp points'
show:'Outputs warp points to current directory'
)
local -a points
while read line
do
points+=$(awk "{ gsub(/\/Users\/$USER|\/home\/$USER/,\"~\"); print }" <<< $line)
done < $CONFIG
_wd()
{
# init variables
local curcontext="$curcontext" state line
typeset -A opt_args
# init state
_arguments \
'1: :->command' \
'2: :->argument'
case $state in
command)
compadd "$@" add rm ls show
_describe -t warp-points 'Warp points:' points && ret=0
;;
argument)
case $words[2] in
rm|add!)
_describe -t warp-points 'warp points' points && ret=0
;;
*)
esac
esac
}
_wd "$@"
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment