editor: Highlight line comments

This commit is contained in:
Remko Tronçon 2022-11-26 12:00:36 +01:00
parent e525044c39
commit 78ca0bf8ec

View file

@ -66,13 +66,15 @@ export default class Editor {
}
this.codeEl.innerText = "";
const vs = v.split(/(\s+)/);
let nextIsDefinition = false;
for (const vl of v.split("\n")) {
const vs = vl.split(/(\s+)/);
let inComment = false;
let inLineComment = false;
for (const v of vs) {
let parentEl: HTMLElement = this.codeEl;
let cls: string | undefined;
if (inComment || v === "(") {
if (inComment || inLineComment || v === "(" || v === "\\") {
cls = "c-com";
} else if (!isNaN(v as any)) {
cls = "c-num";
@ -90,14 +92,23 @@ export default class Editor {
}
parentEl.appendChild(document.createTextNode(v));
if (v === ":" || v === "CONSTANT" || v === "VARIABLE" || v === "VALUE") {
if (
v === ":" ||
v === "CONSTANT" ||
v === "VARIABLE" ||
v === "VALUE"
) {
nextIsDefinition = true;
} else if (v === "(") {
inComment = true;
} else if (v === "\\") {
inLineComment = true;
} else if (inComment && v === ")") {
inComment = false;
}
}
this.codeEl.appendChild(document.createTextNode("\n"));
}
}
#updateScroll() {