asual / lesscss-engine

LESS Engine - A Java wrapper for less.js
http://www.asual.com/lesscss
Apache License 2.0
220 stars 66 forks source link

Ampersand regression error in 1.7.4-snapshot #58

Open bradmac opened 10 years ago

bradmac commented 10 years ago

I got an exception compiling LESS that works fine with 1.5.1. Looks like the ampersand operator support got lost?

com.asual.lesscss.LessException: com.asual.lesscss.LessException: Parse Error: Unrecognised input (line 2, column 1) near .modulePage { &.course-pf { background-color: @body-bg !important; at com.asual.lesscss.compiler.NashornCompiler.compile(NashornCompiler.java:79)

asual commented 10 years ago

Can you please try to isolate the exact problematic piece or write a simple failing test case. I just tried reproducing this without success. The & operator seems to work as expected for me.

bradmac commented 10 years ago

OK, turns out it wasnt the ampersand. The less contained an erroneous piece of code which compiles fine on 1.5.1 but which causes an error on 1.7.4-SNAPSHOT:

div.references { @lightGrey; }

So this isnt a bug in asual, i presume.

bradmac commented 10 years ago

But, the erroneous LESS above results in this rather unhelpful error message: Reason: com.asual.lesscss.LessException: Parse Error: Unrecognised input (line 2, column 1) near .modulePage { &.course-pf { background-color: @body-bg !important;

...where the quoted code above is about 300 lines before from the actual error. The only way to find the error is to progressively remove code until it compiles. And this code is in an import, but the filename property of the exception is null, so there is nothing to connect the exception to the file with the error, or what part of the file.

Any chance of tightening up the error reporting?