Skip to content

Jump to any directory fast and smart in the shell

License

Notifications You must be signed in to change notification settings

pansila/fastjump

Repository files navigation

fastjump

Jump to any directory fast and smart in the shell.

It's a port of the wildly popular CLI helper autojump from Python to Rust.

Why porting

  1. autojump is no long maintained and there are a few bugs preventing people from enjoying it.
  2. The author is really tired of autojump breakage inside Python virtualenvs.
  3. Rust is simply awesome for CLI applications, with its performance and (code) slickness!
  4. There is another Rust port of autojump, which targets a drop-in replacement of autojump. This project instead aims at faster CLI invoking and responding (by injecting into shell).

Install

We have prebuilt binaries available, thanks to the trust project!

(need more instructions here)

Features

  • By re-writing in Rust, fastjump is more light-weight than python version of autojump. As the program itself is very short-running, the overhead of setting up and tearing down a whole Python VM could be overwhelming, especially on less capable hardware.

    (some benchmarks need to go here)
    
  • Using serde with bincode to provide a faster serialization/deserialization for the database.

  • Getting rid of regex to speed up the searching and shrink the executable size.

  • Jump to any directory on Windows by integrating with bleeding fast file searcher Everything (WIP).

  • luck mode, j to the most recently accessed directory.

Compatibility

  1. All of the command line flags and arguments of autojump are implemented, and behave exactly like the original. All other shell features like tab completion should work too. (Except jc and jco; see below.)

  2. Since we use bincode to support database, it's not a drop-in replacement of autojump. However we provide a tool to import autojump's database to re-use your work history.

Contributing

For any questions or issues please visit:

https://github.com/pansila/fastjump/issues

Welcome PRs.