14 releases

0.1.14 Aug 10, 2024
0.1.13 Aug 9, 2024
0.1.11 Mar 13, 2024
0.1.10 Feb 29, 2024
0.0.1 Dec 3, 2014

#93 in Configuration

Download history 132/week @ 2024-08-01 247/week @ 2024-08-08 16/week @ 2024-08-15 23/week @ 2024-09-12 6/week @ 2024-09-19 17/week @ 2024-09-26 15/week @ 2024-10-03

860 downloads per month

Unlicense

33KB
839 lines

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.

Dependencies

~4–11MB
~117K SLoC