Warning: Rush is still in development and is not feature complete or stable.
###News After taking a short break from working on rush I decieded to rewrite the parser using a peg parser.
- Single command execution
- Persistent history
- Pipes
- Quote parsing
- Evironment variables
- Script based config
- File name completion
- File redirection (partly done)
- Job control commands (fg, bg, etc.)
- Full POSIX support
- Full command completion
- Command colorization
- Windows and Mac support
- Built on rust nightly-2017-02-21
- Clone this repo
- Build using cargo
- Copy config/rushrc.sh to ~/.rushrc
Rusty uses toml to customize it's use. Here are some of the configuration options:
[prompt]
left = "%U@%H %L %R"
The characters following the % can all be used or not. Here is what they stand for:
- %U = Current user
- %H = Hostname
- %L = Current Working Directory
- %R = Whether you are root or not
They can be arranged in any order you desire. Any extra characters in the field will just be put in the prompt. Following the above example for my computer the prompt would look like:
zethra@linux-box ~/ $
The [alias] is required in the config file but anything underneath is optional. Below is an example of how it would look in your file in order to use them:
[alias]
gpm = "git push master"
gc = "git commit"
ls = "ls -al"
The [env_var] is required in the config file but anything underneath is optional. Below is an example of how it would look in your file in order to use them:
[env_var]
EDITOR = "vim"
Rush was orininally a fork of Rusty although I've changed a lot since then. My peg grammar was largly taken from js-shell-parse.
If you'd like to contribute to the project please submit a pull request. Help is very appreciated.