less.js icon indicating copy to clipboard operation
less.js copied to clipboard

less variables cannot be used under the not selector, delimiter

Open comewithl opened this issue 1 year ago • 3 comments

To reproduce:

@compPrefix: ~'hi';
.@{compPrefix}{
 color:red;
 &:not(.@{compPrefix}-one, .@{compPrefix}-two){
  color:blue
 }
}
@compPrefix: ~'hi';
.@{compPrefix}{
 color:red;
 &:not(&-one, &-two){
  color:blue
 }
}

Current behavior:

ParseError: Missing closing ')' in /Users/lar/work/isv/theme_static/test.less on line 4, column 26:
3  color:red;
4  &:not(.@{compPrefix}-one, .@{compPrefix}-two){
5   color:blue

Expected behavior: Output like this;

.hi {
  color: red;
}
.hi:not(.hi-one, .hi-two){
  color: blue;
}

Environment information:

  • less version: 4.1.2
  • nodejs version: 16.14.0
  • operating system: macos

comewithl avatar Nov 01 '23 07:11 comewithl

Same issue with nested selector &

Works well:

.main{
  :is(.main-a, .main-b){
    color:red;
  }
}

Same error:

.main{
  :is(&-a, &-b){
    color:blue;
  }
}

Maybe related with #3802?

woody-li avatar Jan 22 '24 05:01 woody-li