# plan9 rc in rust
- Goal: Implement [plan9 rc](https://man.cat-v.org/plan_9/1/rc) in Rust.
- Plan: Stay true to [9front](http://www.9front.org/releases/) implementation.
- License: GPL-3.0-or-later
- Disclaimer: This is just a hobby project.
## ChangeLog
### 0.0.1-alpha.3
- **milestone**: lexer can successfully tokenize all rc scripts
under [plan9front.git](http://git.9front.org/plan9front/plan9front/).
- handle reading rc script from standard input.
- numerious fixes to the tokenizer.
- fix word characters and handle quotes and semicolon in tokenizer.
- handle EOF and ^C.
### 0.0.1-alpha.2
- teach tokenizer to skip `#` comments.
- teach tokenizer I/O redirection and FD redirection.
- teach tokenizer variable assignment, e.g. `a=1`.
- teach tokenizer command `{cmd}, and `split {cmd}.
- teach tokenizer command redirection, aka `<{cmd}` and `>{cmd}`.
- teach tokenizer `$argument(subscript)`, `$"argument`, and `$#argument`
### 0.0.1-alpha.1
- add initial repl using rustyline.
- implement initial lexer/tokenizer using nom.