@codedoc/core
Version:
Create beautiful modern documentation websites.
42 lines • 1.72 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.parse = exports.OutputMark = exports.RemoveHighlightMark = exports.AddHighlightMark = exports.DefaultHighlightMark = void 0;
exports.DefaultHighlightMark = '/*!*/';
exports.AddHighlightMark = '/*+*/';
exports.RemoveHighlightMark = '/*-*/';
exports.OutputMark = '>';
function parse(code, term) {
if (term === void 0) { term = false; }
var lines = code.split('\n');
var highlights = [];
var linesParsed = [];
var outputs = {};
lines.forEach(function (line) {
var index = linesParsed.length;
if (line.startsWith(exports.OutputMark) && term) {
(outputs[index - 1] || (outputs[index - 1] = [])).push(line.substr(exports.OutputMark.length));
}
else {
if (line.startsWith(exports.DefaultHighlightMark)) {
highlights[index] = 'highlight';
linesParsed.push(line.substr(exports.DefaultHighlightMark.length));
}
else if (line.startsWith(exports.AddHighlightMark)) {
highlights[index] = 'added';
linesParsed.push(line.substr(exports.AddHighlightMark.length));
}
else if (line.startsWith(exports.RemoveHighlightMark)) {
highlights[index] = 'removed';
linesParsed.push(line.substr(exports.RemoveHighlightMark.length));
}
else {
highlights[index] = '';
linesParsed.push(line);
}
}
});
var codeParsed = linesParsed.join('\n');
return [codeParsed, linesParsed, highlights, outputs];
}
exports.parse = parse;
//# sourceMappingURL=parse.js.map