File tree 1 file changed +17
-4
lines changed
1 file changed +17
-4
lines changed Original file line number Diff line number Diff line change @@ -766,10 +766,23 @@ namespace Sass {
766
766
if (peek_css< exactly<' )' >>() && Util::equalsLiteral (" nth-" , name.substr (0 , 4 ))) {
767
767
css_error (" Invalid CSS" , " after " , " : expected An+B expression, was " );
768
768
}
769
- if (SelectorListObj wrapped = parseSelectorList (true )) {
770
- if (wrapped && lex_css< exactly<' )' > >()) {
771
- Pseudo_Selector* pseudo = SASS_MEMORY_NEW (Pseudo_Selector, p, name, element);
772
- pseudo->selector (wrapped);
769
+
770
+ std::string unvendored = Util::unvendor (name);
771
+
772
+ if (unvendored == " not" || unvendored == " matches" || unvendored == " current" || unvendored == " any" || unvendored == " has" || unvendored == " host" || unvendored == " host-context" || unvendored == " slotted" ) {
773
+ if (SelectorListObj wrapped = parseSelectorList (true )) {
774
+ if (wrapped && lex_css< exactly<' )' > >()) {
775
+ Pseudo_Selector* pseudo = SASS_MEMORY_NEW (Pseudo_Selector, p, name, element);
776
+ pseudo->selector (wrapped);
777
+ return pseudo;
778
+ }
779
+ }
780
+ } else {
781
+ String_Schema_Obj arg = parse_css_variable_value ();
782
+ Pseudo_Selector* pseudo = SASS_MEMORY_NEW (Pseudo_Selector, p, name, element);
783
+ pseudo->argument (arg);
784
+
785
+ if (lex_css< exactly<' )' > >()) {
773
786
return pseudo;
774
787
}
775
788
}
You can’t perform that action at this time.
0 commit comments