use warp
and the commands below to go directly to your favorite directories
Warp directly to <name>
Dumps the config file to stdout
Opens the config file with your $EDITOR
Used to get the wrapper function you need to use this in your shell. The function is written to be as POSIX compatible as possible, meaning it should work in virtually all shells.
Add the current directory as a waypoint that you can call with <name>
Remove the waypoint with the associated <name>
Go to the waypoint referenced by <name>
!
List waypoints you have saved. If you pass -l/--long
, you will also see the associated file paths
You should add eval "$(warp-drive-bin init)"
someplace where your shell will pick it up on start (i.e. .bashrc or .zshrc)
The config file is provided by directories. It should default to the system defaults. On linux, it should respect $XDG_CONFIG_HOME
and use $HOME/.config
if the former is not set.
$XDG_CONFIG_HOME/warp_drive/warp_drive.toml
or $HOME/.confg/warp_drive/warp_drive.toml
Right now I have a completion for Zsh (because that is the shell that I currently use). It isn't particularly pretty, but it will complete the names for your waypoints from the config in addition to the subcommands and appropriate options for them.
For now:
- Clone Repo
- Build with Cargo
cargo build --release
(developed with rustc 1.45.0) - Make sure
warp-drive-bin
is in your path - add
eval "$(warp-drive-bin init)"
someplace your shell will pick it up - Warp Speed Ahead!
warp-drive
is inspired by programs such as ZSH-z, goto, warp-dir, wd, DirectoryWarp, zoxide, which is also written in Rust, and I'm sure more that I just haven't found yet.
Instead of being written in a shell language or relying on the presence of an interpreter, the heavy lifting is passed off to a Rust binary and exposes a thin shell function to execute the needed system commands in the current context (DirectoryWarp does this with Go and I do this also in assimilate).