mirror of
https://github.com/less/less.js.git
synced 2026-04-09 03:00:20 -04:00
Make rhino error support better
This commit is contained in:
@@ -8,13 +8,14 @@ function loadStyleSheet(sheet, callback, reload, remaining) {
|
||||
});
|
||||
parser.parse(input, function (e, root) {
|
||||
if (e) {
|
||||
print("Error: " + e.toSource());
|
||||
quit(1);
|
||||
return error(e, sheetName);
|
||||
}
|
||||
try {
|
||||
callback(e, root, sheet, { local: false, lastModified: 0, remaining: remaining });
|
||||
} catch(e) {
|
||||
error(e, sheetName);
|
||||
}
|
||||
callback(null, root, sheet, { local: false, lastModified: 0, remaining: remaining });
|
||||
});
|
||||
|
||||
// callback({}, sheet, { local: true, remaining: remaining });
|
||||
}
|
||||
|
||||
function writeFile(filename, content) {
|
||||
@@ -41,22 +42,57 @@ function writeFile(filename, content) {
|
||||
print('lesscss: couldn\'t open file ' + name);
|
||||
quit(1);
|
||||
}
|
||||
|
||||
var result;
|
||||
var parser = new less.Parser();
|
||||
parser.parse(input, function (e, root) {
|
||||
if (e) {
|
||||
quit(1);
|
||||
} else {
|
||||
result = root.toCSS();
|
||||
if (output) {
|
||||
writeFile(output, result);
|
||||
print("Written to " + output);
|
||||
try {
|
||||
var parser = new less.Parser();
|
||||
parser.parse(input, function (e, root) {
|
||||
if (e) {
|
||||
error(e, name);
|
||||
quit(1);
|
||||
} else {
|
||||
print(result);
|
||||
result = root.toCSS();
|
||||
if (output) {
|
||||
writeFile(output, result);
|
||||
print("Written to " + output);
|
||||
} else {
|
||||
print(result);
|
||||
}
|
||||
quit(0);
|
||||
}
|
||||
quit(0);
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
catch(e) {
|
||||
error(e, name);
|
||||
quit(1);
|
||||
}
|
||||
print("done");
|
||||
}(arguments));
|
||||
|
||||
function error(e, filename) {
|
||||
|
||||
var content = "Error : " + filename + "\n";
|
||||
|
||||
filename = e.filename || filename;
|
||||
|
||||
if (e.message) {
|
||||
content += e.message + "\n";
|
||||
}
|
||||
|
||||
var errorline = function (e, i, classname) {
|
||||
if (e.extract[i]) {
|
||||
content +=
|
||||
String(parseInt(e.line) + (i - 1)) +
|
||||
":" + e.extract[i] + "\n";
|
||||
}
|
||||
};
|
||||
|
||||
if (e.stack) {
|
||||
content += e.stack;
|
||||
} else if (e.extract) {
|
||||
content += 'on line ' + e.line + ', column ' + (e.column + 1) + ':\n';
|
||||
errorline(e, 0);
|
||||
errorline(e, 1);
|
||||
errorline(e, 2);
|
||||
}
|
||||
print(content);
|
||||
}
|
||||
Reference in New Issue
Block a user