in website/_webpack/js/tryFlow.js [25:74]
function appendMsg(container, msg, editor) {
const clickHandler = (msg) => {
editor.getDoc().setSelection(
{line: msg.loc.start.line - 1, ch: msg.loc.start.column - 1},
{line: msg.loc.end.line - 1, ch: msg.loc.end.column}
);
editor.focus();
};
if (msg.loc && msg.context != null) {
const div = document.createElement('div');
const basename = msg.loc.source.replace(/.*\//, '');
const filename = basename !== '-' ? `${msg.loc.source}:` : '';
const prefix = `${filename}${msg.loc.start.line}: `;
const before = msg.context.slice(0, msg.loc.start.column - 1);
const highlight = (msg.loc.start.line === msg.loc.end.line) ?
msg.context.slice(msg.loc.start.column - 1, msg.loc.end.column) :
msg.context.slice(msg.loc.start.column - 1);
const after = (msg.loc.start.line === msg.loc.end.line) ?
msg.context.slice(msg.loc.end.column) :
'';
div.appendChild(document.createTextNode(prefix + before));
const bold = document.createElement('strong');
bold.className = "msgHighlight";
bold.appendChild(document.createTextNode(highlight));
div.appendChild(bold);
div.appendChild(document.createTextNode(after));
container.appendChild(div);
const offset = msg.loc.start.column + prefix.length - 1;
const arrow = `${(prefix + before).replace(/[^ ]/g, ' ')}^ `;
container.appendChild(document.createTextNode(arrow));
const span = document.createElement('span');
span.className = "msgType";
span.appendChild(document.createTextNode(msg.descr));
container.appendChild(span);
const handler = clickHandler.bind(null, msg);
bold.addEventListener('click', handler);
span.addEventListener('click', handler);
} else if (msg.type === "Comment") {
const descr = `. ${msg.descr}\n`;
container.appendChild(document.createTextNode(descr));
} else {
const descr = `${msg.descr}\n`;
container.appendChild(document.createTextNode(descr));
}
};