UNPKG

@codedoc/core

Version:

Create beautiful modern documentation websites.

37 lines 1.42 kB
export const DefaultHighlightMark = '/*!*/'; export const AddHighlightMark = '/*+*/'; export const RemoveHighlightMark = '/*-*/'; export const OutputMark = '>'; export function parse(code, term = false) { const lines = code.split('\n'); const highlights = []; const linesParsed = []; const outputs = {}; lines.forEach((line) => { const index = linesParsed.length; if (line.startsWith(OutputMark) && term) { (outputs[index - 1] || (outputs[index - 1] = [])).push(line.substr(OutputMark.length)); } else { if (line.startsWith(DefaultHighlightMark)) { highlights[index] = 'highlight'; linesParsed.push(line.substr(DefaultHighlightMark.length)); } else if (line.startsWith(AddHighlightMark)) { highlights[index] = 'added'; linesParsed.push(line.substr(AddHighlightMark.length)); } else if (line.startsWith(RemoveHighlightMark)) { highlights[index] = 'removed'; linesParsed.push(line.substr(RemoveHighlightMark.length)); } else { highlights[index] = ''; linesParsed.push(line); } } }); const codeParsed = linesParsed.join('\n'); return [codeParsed, linesParsed, highlights, outputs]; } //# sourceMappingURL=parse.js.map