[−][src]Crate synattra
A Syn Attribute Parser Toolkit
Synattra extends Syn and provides structures to easily parse custom attributes.
Notably, Synattra provides a KVOption<K, V>
type that allows parsing attributes in the form key = value
where key
can be any token or custom keyword (including Rust keywords!) and value any type that can be parsed from a TokenStream
. Synattra was extracted from the Metered project, please check it for actual usage.
Synattra also supports single or multiple values, that can take the shape of Foo
or [Foo, Bar]
.
Finally Synattra provides some extra types, such as InvokePath
which represents any invocation handle, macro or not (e.g foo
or println!
).
By reusing Syn's design, Synattra parsers are very robust and when they compile, they usually work :-).
Modules
types | Parseable types provided by Synattra |
Traits
ParseAttributes | A trait to parse attributes |
ParseStreamExt | An extension trait for syn's |