Skip to content

Latest commit

 

History

History
25 lines (20 loc) · 1.39 KB

README.md

File metadata and controls

25 lines (20 loc) · 1.39 KB

rush - the RUst SHell

🚧 barely functional wip 🚧

A rich shell with great defaults, similar to fish. Aiming to provide:

  • syntax highlighting
  • strong historical suggestion & tab completion experience
  • vi mode
  • terminal multiplexer

All in a no dependency, pure-rust, tiny binary (one day).

Rush also takes a unique stance towards power user configuration:

  • no startup files are parsed upon startup
  • power users can configure their shell by pulling rush as a library dependency and configuring their shell in code
  • plugins for prompts and auto completions can be defined as simple rust functions and distributed through cargo (rather than in a scripting language and distributed ad-hocly)

These values aim to provide an improved experience for both types of users:

  • faster -- default systems programming language rather than a scripting one.
  • reliable -- loosely coupled tools, configuration files and scripting languages don't have strong guarantees around correctness. Rust and Cargo have strong enforcement of contracts and conventions around evolving code.
  • portable -- the way you get binaries, plugins and perform configurations varies significantly based on the platform. The rust programming language and cargo's behavior varies significantly less.
  • rich experience -- if you're writing a plugin in rust, it's trivial to add a library from Cargo's massive collection of community libraries.