fixes #5965: [less] syntax failure when identifier starts with a number

This commit is contained in:
Martin Aeschlimann 2016-05-10 15:10:13 +02:00
parent 39c835a56c
commit 083c36c609
3 changed files with 3 additions and 2 deletions

View file

@ -296,7 +296,7 @@ export class Scanner {
// at-keyword
if (this.stream.advanceIfChar(_ATS)) {
content = [ '@' ];
if (this.ident(content)) {
if (this._name(content)) {
let keywordText = content.join('');
if (keywordText === '@charset') {
return this.finishToken(offset, TokenType.Charset, keywordText);

View file

@ -76,7 +76,7 @@ suite('CSS - Scanner', () => {
assertSingleToken(scanner, '@import', 7, 0, '@import', Scanner.TokenType.AtKeyword);
assertSingleToken(scanner, '@importttt', 10, 0, '@importttt', Scanner.TokenType.AtKeyword);
assertSingleToken(scanner, '@imp', 4, 0, '@imp', Scanner.TokenType.AtKeyword);
assertSingleToken(scanner, '@5', 1, 0, '@', Scanner.TokenType.Delim);
assertSingleToken(scanner, '@5', 2, 0, '@5', Scanner.TokenType.AtKeyword);
assertSingleToken(scanner, '@media', 6, 0, '@media', Scanner.TokenType.AtKeyword);
assertSingleToken(scanner, '@page', 5, 0, '@page', Scanner.TokenType.AtKeyword);
assertSingleToken(scanner, '@charset', 8, 0, '@charset', Scanner.TokenType.Charset);

View file

@ -33,6 +33,7 @@ suite('LESS - LESS Parser', () => {
assertNode('@-co42lor', parser, parser._parseVariable.bind(parser));
assertNode('@@foo', parser, parser._parseVariable.bind(parser));
assertNode('@@@foo', parser, parser._parseVariable.bind(parser));
assertNode('@12ooo', parser, parser._parseVariable.bind(parser));
assertNoNode('@ @foo', parser, parser._parseFunction.bind(parser));
assertNoNode('@-@foo', parser, parser._parseFunction.bind(parser));
});