No description
| docs | ||
| src | ||
| .envrc | ||
| .gitignore | ||
| Cargo.lock | ||
| Cargo.toml | ||
| flake.lock | ||
| flake.nix | ||
| LICENSE | ||
| README.md | ||
translating-shell
Translating shell (trash) is an (planned) interactive shell and (planned) interpreted scripting language that is a (planned) superset of bash. That is, every bash script is also a trash script (planned), but trash adds some nicer syntax, on top. (planned)
Built in Rust, with minimal dependencies (for now, only libc, dirs, exec and leftpad)
Using
For testing purposes only.
Clone the project, and run cargo run.
Features
Infrastructure
- Analyzer
- Lexer
- AST
- Interpreter
Language
- Variables
- Main control flow
- Commands
- Syntactic sugar
Shell
- read/eval/print loop (basic implementation)
- cli interface
Common
- Pipes
- Command substitions
- String, backslash-escapes (basic implementation)
- Subshells
Design principles
fish but POSIX-compliant and retrocompatible with bash.
This is made to be minimalist, useful out-of-the box, and unintrusive. You can leave your default bashrc and it'll work (planned).