Skip to content

Commit ce9e25a

Browse files
authored
@container rule being flagged as "unknownAtRules" when nested in SCSS (#386)
1 parent c17c287 commit ce9e25a

File tree

4 files changed

+9
-1
lines changed

4 files changed

+9
-1
lines changed

src/parser/lessParser.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -320,6 +320,7 @@ export class LESSParser extends cssParser.Parser {
320320
|| this._parseSupports(true) // @supports
321321
|| this._parseLayer() // @layer
322322
|| this._parsePropertyAtRule() // @property
323+
|| this._parseContainer() // @container
323324
|| this._parseDetachedRuleSetMixin() // less detached ruleset mixin
324325
|| this._parseVariableDeclaration() // Variable declarations
325326
|| this._parseRuleSetDeclarationAtStatement();

src/parser/scssParser.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -256,6 +256,7 @@ export class SCSSParser extends cssParser.Parser {
256256
|| this._parseSupports(true) // @supports
257257
|| this._parseLayer() // @layer
258258
|| this._parsePropertyAtRule() // @property
259+
|| this._parseContainer() // @container
259260
|| this._parseRuleSetDeclarationAtStatement();
260261
}
261262
return this._parseVariableDeclaration() // variable declaration
@@ -939,7 +940,7 @@ export class SCSSParser extends cssParser.Parser {
939940
this.accept(TokenType.Comma);
940941
}
941942

942-
// More than just identifier
943+
// More than just identifier
943944
return node.getChildren().length > 1 ? node : null;
944945
}
945946

src/test/less/parser.test.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -348,4 +348,9 @@ suite('LESS - Parser', () => {
348348
const parser = new LESSParser();
349349
assertNode('@plugin "my-plugin";', parser, parser._parseStylesheet.bind(parser));
350350
});
351+
352+
test('@container', function () {
353+
const parser = new LESSParser();
354+
assertNode(`.item-icon { @container (max-height: 100px) { .item-icon { display: none; } } }`, parser, parser._parseStylesheet.bind(parser));
355+
});
351356
});

src/test/scss/parser.test.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -291,6 +291,7 @@ suite('SCSS - Parser', () => {
291291
test('@container', function () {
292292
const parser = new SCSSParser();
293293
assertNode(`@container (min-width: #{$minWidth}) { .scss-interpolation { line-height: 10cqh; } }`, parser, parser._parseStylesheet.bind(parser));
294+
assertNode(`.item-icon { @container (max-height: 100px) { .item-icon { display: none; } } }`, parser, parser._parseStylesheet.bind(parser));
294295
});
295296

296297
test('@use', function () {

0 commit comments

Comments
 (0)