mirror of
https://github.com/less/less.js.git
synced 2026-01-22 21:58:14 -05:00
39 lines
1.2 KiB
JavaScript
39 lines
1.2 KiB
JavaScript
var debugInfo = function(context, ctx, lineSeparator) {
|
|
var result = "";
|
|
if (context.dumpLineNumbers && !context.compress) {
|
|
switch(context.dumpLineNumbers) {
|
|
case 'comments':
|
|
result = debugInfo.asComment(ctx);
|
|
break;
|
|
case 'mediaquery':
|
|
result = debugInfo.asMediaQuery(ctx);
|
|
break;
|
|
case 'all':
|
|
result = debugInfo.asComment(ctx) + (lineSeparator || "") + debugInfo.asMediaQuery(ctx);
|
|
break;
|
|
}
|
|
}
|
|
return result;
|
|
};
|
|
|
|
debugInfo.asComment = function(ctx) {
|
|
return '/* line ' + ctx.debugInfo.lineNumber + ', ' + ctx.debugInfo.fileName + ' */\n';
|
|
};
|
|
|
|
debugInfo.asMediaQuery = function(ctx) {
|
|
var filenameWithProtocol = ctx.debugInfo.fileName;
|
|
if (!/^[a-z]+:\/\//i.test(filenameWithProtocol)) {
|
|
filenameWithProtocol = 'file://' + filenameWithProtocol;
|
|
}
|
|
return '@media -sass-debug-info{filename{font-family:' +
|
|
filenameWithProtocol.replace(/([.:\/\\])/g, function (a) {
|
|
if (a == '\\') {
|
|
a = '\/';
|
|
}
|
|
return '\\' + a;
|
|
}) +
|
|
'}line{font-family:\\00003' + ctx.debugInfo.lineNumber + '}}\n';
|
|
};
|
|
|
|
module.exports = debugInfo;
|