Skip to content

Commit 7634809

Browse files
committed
Fix #67 LESS: Minus ('-') is wrongly considered as unknown function
1 parent 6a936b7 commit 7634809

File tree

4 files changed

+6
-1
lines changed

4 files changed

+6
-1
lines changed

css-checks/src/test/resources/checks/less/unknownFunctions.less

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,4 +7,5 @@
77
filter: alpha(opacity=50);
88
filter: color("#123");
99
filter: desaturate("#123");
10+
top: -(@timeline-h-size-step/2)-(@timeline-h-size-line/2);
1011
}

css-frontend/src/main/java/org/sonar/css/parser/LexicalGrammar.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -514,11 +514,12 @@ private static void macros(LexerlessGrammarBuilder b) {
514514
b.rule(_IDENT).is(
515515
b.firstOf(
516516
b.regexp("(?i)(progid:DXImageTransform\\.Microsoft\\.[a-z]+)"),
517+
b.sequence("-", b.oneOrMore(_NMCHAR)),
517518
b.sequence(_NMSTART, b.zeroOrMore(_NMCHAR))))
518519
.skip();
519520

520521
b.rule(_NMSTART).is(
521-
b.firstOf(b.regexp("(?i)[_a-z]"), "-", "*", _NONASCII, _ESCAPE)).skip();
522+
b.firstOf(b.regexp("(?i)[_a-z]"), "*", _NONASCII, _ESCAPE)).skip();
522523

523524
b.rule(_NONASCII).is(b.regexp("[^\\x00-\\xED]")).skip();
524525

css-frontend/src/test/java/org/sonar/css/parser/css/IdentifierTreeTest.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,8 @@ public void notIdent() {
6363
checkNotParsed("123");
6464
checkNotParsed("123px");
6565
checkNotParsed("@{abc}");
66+
checkNotParsed("-");
67+
checkNotParsed("-(");
6668
}
6769

6870
private IdentifierTree checkParsed(String toParse, String expectedIdent) {

its/ruling/projects/custom/less/unknownFunctions.less

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,4 +7,5 @@
77
filter: alpha(opacity=50);
88
filter: color("#123");
99
filter: desaturate("#123");
10+
top: -(@timeline-h-size-step/2)-(@timeline-h-size-line/2);
1011
}

0 commit comments

Comments
 (0)