* Add support for Option<T> attributes
Introduces the `attr=[value]` syntax that assumes `value` is an
`Option<T>`. Renders `attr="value"` for `Some(value)` and entirely
omits the attribute for `None`.
Implements and therefore closes#283.
* Call `Generator::splice` directly
* Handle struct literals (edge case)
Co-authored-by: Chris Wong <xbuns@google.com>
* Use `std::matches!`
- Remove crates.io `matches` in favor of the `std` version
- Fix Clippy warning by changing a `match ... { ... }` to
`matches!(...)`
* Satisfy `blocks_in_if_conditions`
* Add proc_macro2 and quote dependencies
* Completly switch over to proc_macro2 where possible
* Remove unessesary ::from casts
* Remove pendantic cast that i missed
* Make Builder::push_tokens accept TokenStream
* Remove stray commented out code
* Reword unclear comment on `Span` to a todo item
* Move comment closer to its intended line
* Use into instead of explicit conversion