MCPcopy Index your code
hub / github.com/perkeep/perkeep / errorHTML

Function errorHTML

clients/web/embed/less/less.js:230–329  ·  view source on GitHub ↗
(e, rootHref)

Source from the content-addressed store, hash-verified

228module.exports = function(window, less, options) {
229
230 function errorHTML(e, rootHref) {
231 var id = 'less-error-message:' + utils.extractId(rootHref || "");
232 var template = '<li><label>{line}</label><pre class="{class}">{content}</pre></li>';
233 var elem = window.document.createElement('div'), timer, content, errors = [];
234 var filename = e.filename || rootHref;
235 var filenameNoPath = filename.match(/([^\/]+(\?.*)?)$/)[1];
236
237 elem.id = id;
238 elem.className = "less-error-message";
239
240 content = '<h3>' + (e.type || "Syntax") + "Error: " + (e.message || 'There is an error in your .less file') +
241 '</h3>' + '<p>in <a href="' + filename + '">' + filenameNoPath + "</a> ";
242
243 var errorline = function (e, i, classname) {
244 if (e.extract[i] !== undefined) {
245 errors.push(template.replace(/\{line\}/, (parseInt(e.line, 10) || 0) + (i - 1))
246 .replace(/\{class\}/, classname)
247 .replace(/\{content\}/, e.extract[i]));
248 }
249 };
250
251 if (e.extract) {
252 errorline(e, 0, '');
253 errorline(e, 1, 'line');
254 errorline(e, 2, '');
255 content += 'on line ' + e.line + ', column ' + (e.column + 1) + ':</p>' +
256 '<ul>' + errors.join('') + '</ul>';
257 }
258 if (e.stack && (e.extract || options.logLevel >= 4)) {
259 content += '<br/>Stack Trace</br />' + e.stack.split('\n').slice(1).join('<br/>');
260 }
261 elem.innerHTML = content;
262
263 // CSS for error messages
264 browser.createCSS(window.document, [
265 '.less-error-message ul, .less-error-message li {',
266 'list-style-type: none;',
267 'margin-right: 15px;',
268 'padding: 4px 0;',
269 'margin: 0;',
270 '}',
271 '.less-error-message label {',
272 'font-size: 12px;',
273 'margin-right: 15px;',
274 'padding: 4px 0;',
275 'color: #cc7777;',
276 '}',
277 '.less-error-message pre {',
278 'color: #dd6666;',
279 'padding: 4px 0;',
280 'margin: 0;',
281 'display: inline-block;',
282 '}',
283 '.less-error-message pre.line {',
284 'color: #ff0000;',
285 '}',
286 '.less-error-message h3 {',
287 'font-size: 20px;',

Callers 1

errorFunction · 0.85

Calls 2

errorlineFunction · 0.85
matchMethod · 0.80

Tested by

no test coverage detected