Файл: error-kitty/lib/error-kitty/stacks/index.js
Строк: 44
<?php
module.exports = stacks;
var Stack = require("./stack");
var chalk = require("chalk");
var _s = require("underscore.string");
Error.prepareStackTrace = prepareStackTrace;
Error.stackTraceLimit = Infinity;
function prepareStackTrace(err, frames) {
try {
var stack = new Stack(err, frames);
return stack.toString();
} catch (e) {
console.error(e.stack);
return err.stack;
}
}
function stacks(lines, lineNumber, colNumber) {
if (!lineNumber) return "";
colNumber = Math.max(colNumber, 0);
lines = lines.split("n");
var start = Math.max(lineNumber - 3, 0);
var end = Math.min(lines.length, lineNumber + 3);
var width = (end + "").length;
return "n" + lines.slice(start, end).map(function (line, i) {
var curr = i + start + 1;
var gutter = curr === lineNumber ? "> " : " ";
gutter += _s.rpad(curr + "", width) + "| ";
var str = gutter + line + chalk.reset();
if (colNumber && curr === lineNumber) {
str += "n";
str += _s.repeat(" ", gutter.length - 2);
str += "|" + _s.repeat(" ", colNumber) + "^";
}
return str;
}).join("n");
}
?>