To reproduce:
https://lesscss.org/less-preview/#eyJjb2RlIjoiLngge1xuICAgICY6aXMoJi5hKSB7XG4gICAgICAgIGNvbG9yOiAjZjAwO1xuICAgIH1cbiAgICAmOm5vdCgmLmIsICYuYykge1xuICAgICAgICBjb2xvcjogIzBmMDtcbiAgICB9XG5cbiAgICAmOmlzKCYtYSkge1xuICAgICAgICBjb2xvcjogI2YwMDtcbiAgICB9XG4gICAgJjpub3QoJi1iLCAmLWMpIHtcbiAgICAgICAgY29sb3I6ICMwZjA7XG4gICAgfVxufVxuIiwiYWN0aXZlVmVyc2lvbiI6IjQuNS4xIiwibWF0aCI6InBhcmVucy1kaXZpc2lvbiIsInN0cmljdFVuaXRzIjpmYWxzZX0=
.x {
&:is(&.a) {
color: #f00;
}
&:not(&.b, &.c) {
color: #0f0;
}
&:is(&-a) {
color: #f00;
}
&:not(&-b, &-c) {
color: #0f0;
}
}
Current behavior:
When the nested pseudo with single selector, it works well.
But when multiple, it doesn't parse the parent symbol(&).
Tested with :not(), :is(), :where(), and got the same result.
.x:is(.x.a) {
color: #f00;
}
.x:not(&.b, &.c) {
color: #0f0;
}
.x:is(.x-a) {
color: #f00;
}
.x:not(&-b, &-c) {
color: #0f0;
}
Expected behavior:
.x:is(.x.a) {
color: #f00;
}
.x:not(.x.b, .x.c) {
color: #0f0;
}
.x:is(.x-a) {
color: #f00;
}
.x:not(.x-b, .x-c) {
color: #0f0;
}
Environment information:
To reproduce:
https://lesscss.org/less-preview/#eyJjb2RlIjoiLngge1xuICAgICY6aXMoJi5hKSB7XG4gICAgICAgIGNvbG9yOiAjZjAwO1xuICAgIH1cbiAgICAmOm5vdCgmLmIsICYuYykge1xuICAgICAgICBjb2xvcjogIzBmMDtcbiAgICB9XG5cbiAgICAmOmlzKCYtYSkge1xuICAgICAgICBjb2xvcjogI2YwMDtcbiAgICB9XG4gICAgJjpub3QoJi1iLCAmLWMpIHtcbiAgICAgICAgY29sb3I6ICMwZjA7XG4gICAgfVxufVxuIiwiYWN0aXZlVmVyc2lvbiI6IjQuNS4xIiwibWF0aCI6InBhcmVucy1kaXZpc2lvbiIsInN0cmljdFVuaXRzIjpmYWxzZX0=
Current behavior:
When the nested pseudo with single selector, it works well.
But when multiple, it doesn't parse the parent symbol(&).
Tested with
:not(),:is(),:where(), and got the same result.Expected behavior:
Environment information:
lessversion: 4.4.0