attr.rs |
|
6686 |
bloom.rs |
Counting and non-counting Bloom filters tuned for use as ancestor filters
for selector matching. |
11806 |
build.rs |
|
1446 |
builder.rs |
Helper module to build up a selector safely and efficiently.
Our selector representation is designed to optimize matching, and has
several requirements:
* All simple selectors and combinators are stored inline in the same buffer as Component
instances.
* We store the top-level compound selectors from right to left, i.e. in matching order.
* We store the simple selectors for each combinator from left to right, so that we match the
cheaper simple selectors first.
For example, the selector:
.bar:hover > .baz:nth-child(2) + .qux
Gets stored as:
[.qux, + , .baz, :nth-child(2), > , .bar, :hover]
Meeting all these constraints without extra memmove traffic during parsing is non-trivial. This
module encapsulates those details and presents an easy-to-use API for the parser. |
17164 |
Cargo.toml |
|
988 |
CHANGES.md |
|
184 |
context.rs |
|
15772 |
kleene_value.rs |
Kleen logic: https://en.wikipedia.org/wiki/Three-valued_logic#Kleene_and_Priest_logics |
3516 |
lib.rs |
|
643 |
matching.rs |
|
53761 |
nth_index_cache.rs |
|
3172 |
parser.rs |
|
172672 |
README.md |
rust-selectors |
1171 |
relative_selector |
|
|
sink.rs |
Small helpers to abstract over different containers. |
950 |
tree.rs |
Traits that nodes must implement. Breaks the otherwise-cyclic dependency
between layout and style. |
6144 |
visitor.rs |
Visitor traits for selectors. |
4884 |