lesscss-java icon indicating copy to clipboard operation
lesscss-java copied to clipboard

Incorrect line number for errors when using imports

Open acdvorak opened this issue 13 years ago • 1 comments

When compiling a file that @imports another LESS file, lesscss-java reports the wrong line number for syntax errors.

For example, suppose I have the following files:

parent.less

@import "include.less";

body { !@#$% syntax error ^&*) }

include.less

.some-mixin ( @param ) {
    /* ... */
}

.another-mixin ( @param ) {
    /* ... */
}

lesscss-java throws a LessException with the error message "Syntax Error on line 9" when the error is really on line 3.

Looking through the source code, it appears that this behavior is the result of concatenating the parent file with all of its imports in LessSource.resolveImports() (LessSource.java, line 147, which gets fed in to LessCompiler.java, line 302).

Is there a technical reason for this design choice? It would be really nice if we could let less.js take care of resolving imports and reporting the correct line number for syntax errors.

(Credit goes to micmcg for pointing this out.)

Thanks!

acdvorak avatar Jun 21 '12 15:06 acdvorak

Hi, I don't know what less.js does internally. Can you explain how less.js will take care of imports? Thanks

cpopov avatar Mar 01 '13 10:03 cpopov