UNPKG

@hpcc-js/observablehq-compiler

Version:
113 lines (112 loc) 2.29 kB
import "./chunk-rwCFCtyI.js"; import { a as e, i as t, n } from "./dist-CecFOdLa.js"; //#region ../../node_modules/@observablehq/notebook-kit/dist/src/runtime/stdlib/highlight.js var r = t([ { tag: e.link, class: "tok-link" }, { tag: [e.heading, e.strong], class: "tok-strong" }, { tag: e.emphasis, class: "tok-emphasis" }, { tag: [e.keyword, e.typeName], class: "tok-keyword" }, { tag: e.atom, class: "tok-atom" }, { tag: [ e.bool, e.escape, e.number ], class: "tok-literal" }, { tag: [e.string, e.regexp], class: "tok-string" }, { tag: e.comment, class: "tok-comment" }, { tag: e.invalid, class: "tok-invalid" }, { tag: e.variableName, class: "tok-variable" }, { tag: [ e.definition(e.variableName), e.className, e.propertyName ], class: "tok-definition" }, { tag: e.meta, class: "tok-meta" } ]); async function highlight(e) { let t = getLanguage(e); if (!t) return; let i = e.parentElement; i && (i.dataset.language = t); let a = await getParser(t); if (!a) return; let o = e.ownerDocument, s = e.textContent, c = a.parse(s); for (; e.lastChild;) e.lastChild.remove(); function emit(t, n) { let r = o.createTextNode(t); if (n) { let e = o.createElement("span"); e.appendChild(r), e.className = n, r = e; } e.appendChild(r); } function emitBreak() { e.appendChild(o.createTextNode("\n")); } n(s, c, r, emit, emitBreak); } async function getParser(e) { switch (e) { case "node": e = "ts"; break; } switch (e) { case "js": case "ts": case "jsx": return (await import("./dist-HSOoLE8A.js")).parser.configure({ dialect: e }); case "python": return (await import("./dist-C66WUAXi.js")).parser; case "html": return (await import("./dist-DF_mUoJg.js")).parser; case "css": return (await import("./dist-C3tBoEnV.js")).parser; case "md": return (await import("./dist-BKFRBZ7S.js")).parser; } } function getLanguage(e) { let t = [...e.classList].find((e) => e.startsWith("language-"))?.slice(9)?.toLowerCase(); switch (t) { case "javascript": return "js"; case "typescript": return "ts"; case "py": return "python"; case "markdown": return "md"; } return t; } //#endregion export { highlight }; //# sourceMappingURL=highlight-Da8at5lV.js.map