Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The
:not()
pseudo selector now takes aSelector
as argument, not aText
. This is closer to the CSS semantics and allows reuse of Clay selector syntax.Note that this change will break the API and needs a bump. You can still just use string literals as arguments with OverloadedStrings, so the impact is likely very limited.
Additionally I made a small fix in the selector parser by reusing the refinement parser internally. This means now things like
":first-child"
and"@data-foo"
will parse properly. (usingwith star
internally).Not super relevant for now, but
PseudoFunc
is modelled to always takeText
arguments, which is somewhat weakly typed and requires the:not()
selector to convert to text immediately. Better model the actual function arguments types (e.g.Text | xn+k | Selector
) to allow future inspection / optimizations etc, but I'm pretty sure no one is relying on that any time soon.