Expand description
This module defines traits for attribute parsers, little state machines that recognize and parse
attributes out of a longer list of attributes. The main trait is called AttributeParser
.
You can find more docs about AttributeParser
s on the trait itself.
However, for many types of attributes, implementing AttributeParser
is not necessary.
It allows for a lot of flexibility you might not want.
Specifically, you might not care about managing the state of your AttributeParser
state machine yourself. In this case you can choose to implement:
SingleAttributeParser
: makes it easy to implement an attribute which should error if it appears more than once in a list of attributesCombineAttributeParser
: makes it easy to implement an attribute which should combine the contents of attributes, if an attribute appear multiple times in a list
Attributes should be added to crate::context::ATTRIBUTE_PARSERS
to be parsed.
Modulesยง
- allow_
unstable ๐ - cfg ๐
- codegen_
attrs ๐ - confusables ๐
- deprecation ๐
- inline ๐
- link_
attrs ๐ - lint_
helpers ๐ - loop_
match ๐ - must_
use ๐ - repr ๐
- semantics ๐
- stability ๐
- traits ๐
- transparency ๐
- util ๐
Structsยง
- Combine ๐
- Use in combination with
CombineAttributeParser
.Combine<T: CombineAttributeParser>
implementsAttributeParser
. - Single ๐
- Use in combination with
SingleAttributeParser
.Single<T: SingleAttributeParser>
implementsAttributeParser
.
Enumsยง
- Attribute
Order ๐ - OnDuplicate ๐
Traitsยง
- Attribute
Parser ๐ - An
AttributeParser
is a type which searches for syntactic attributes. - Combine
Attribute ๐Parser - Alternative to
AttributeParser
that automatically handles state management. If multiple attributes appear on an element, combines the values of each into aThinVec
.Combine<T> where T: CombineAttributeParser
implementsAttributeParser
. - Single
Attribute ๐Parser - Alternative to
AttributeParser
that automatically handles state management. A slightly simpler and more restricted way to convert attributes. Assumes that an attribute can only appear a single time on an item, and errors when it sees more.
Type Aliasesยง
- Accept
Fn ๐ - Accept
Mapping ๐ - Convert
Fn ๐