34 lines
1.1 KiB
Text
34 lines
1.1 KiB
Text
|
# Sing
|
||
|
|
||
|
Std
|
||
|
I/o
|
||
|
Negotiator
|
||
|
Generator
|
||
|
|
||
|
## What is sing meant to be?
|
||
|
|
||
|
- Provide stdio interface to traits
|
||
|
- not like serde because it's for traits instead of objects
|
||
|
- not like clap since it works at run time, not before
|
||
|
- similar ease of use as both of the above though
|
||
|
|
||
|
## How to get there
|
||
|
|
||
|
- Using lalrpop (in a feature flag)
|
||
|
- Maybe utilize serde
|
||
|
- Look at how clap handles states between macro calls
|
||
|
- They operate on a singleton lol
|
||
|
- This would need to store All traits and their functions
|
||
|
- It should also own (locked) Stdin, Stdout and Stderr (or any one Read and two Write objects)
|
||
|
- This bad boi would also implement the main loop for the cli application.
|
||
|
|
||
|
## Links oder so lül
|
||
|
|
||
|
https://serde.rs/impl-serializer.html
|
||
|
https://docs.serde.rs/serde/trait.Serializer.html
|
||
|
https://docs.rs/proc-macro2/1.0.36/proc_macro2/
|
||
|
https://docs.rs/syn/1.0.86/syn/
|
||
|
https://github.com/clap-rs/clap/blob/master/src/derive.rs
|
||
|
https://github.com/clap-rs/clap
|
||
|
https://github.com/clap-rs/clap/blob/v3.0.14/examples/tutorial_builder/README.md
|
||
|
https://www.morling.dev/blog/whats-in-a-good-error-message/
|