@plumile/ui 0.1.146 → 0.1.150
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -0
- package/lib/esm/admin/theme/adminSurface.css.js +0 -2
- package/lib/esm/atomic/atoms/textarea/textarea.css.js +2 -0
- package/lib/esm/atomic/molecules/markdown/components/MarkdownCodeCopyButton.js +19 -35
- package/lib/esm/atomic/molecules/markdown/components/MarkdownCodeCopyButton.js.map +1 -1
- package/lib/esm/atomic/molecules/markdown/components/MarkdownEmphasis.css.js +0 -1
- package/lib/esm/atomic/molecules/markdown/components/MarkdownSubscript.css.js +1 -0
- package/lib/esm/backoffice/atoms/copyable_text/CopyableText.js +22 -42
- package/lib/esm/backoffice/atoms/copyable_text/CopyableText.js.map +1 -1
- package/lib/esm/backoffice/molecules/backoffice_json_viewer/BackofficeJsonViewer.js +2 -1
- package/lib/esm/backoffice/molecules/backoffice_json_viewer/BackofficeJsonViewer.js.map +1 -1
- package/lib/esm/backoffice/shared/copyWithExecCommand.js +1 -14
- package/lib/esm/hooks/useClipboardCopy.js +31 -0
- package/lib/esm/hooks/useClipboardCopy.js.map +1 -0
- package/lib/esm/index.js +223 -221
- package/lib/esm/node_modules/@shikijs/core/dist/index.js +99 -96
- package/lib/esm/node_modules/@shikijs/core/dist/index.js.map +1 -1
- package/lib/esm/node_modules/@shikijs/core/node_modules/@shikijs/types/dist/index.js.map +1 -1
- package/lib/esm/node_modules/@shikijs/primitive/dist/index.js +91 -85
- package/lib/esm/node_modules/@shikijs/primitive/dist/index.js.map +1 -1
- package/lib/esm/node_modules/@shikijs/primitive/node_modules/@shikijs/types/dist/index.js.map +1 -1
- package/lib/esm/node_modules/@vitest/runner/dist/chunk-artifact.js.map +1 -1
- package/lib/esm/node_modules/cytoscape/dist/cytoscape.esm.js +1 -1
- package/lib/esm/node_modules/cytoscape/dist/cytoscape.esm.js.map +1 -1
- package/lib/esm/node_modules/react-shiki/dist/index.js +1 -1
- package/lib/esm/node_modules/shiki/dist/bundle-full.js +1 -1
- package/lib/esm/node_modules/shiki/dist/bundle-full.js.map +1 -1
- package/lib/esm/node_modules/shiki/dist/{chunk-CtajNgzt.js → chunk-D1SwGrFN.js} +2 -2
- package/lib/esm/node_modules/shiki/dist/chunk-D1SwGrFN.js.map +1 -0
- package/lib/esm/node_modules/shiki/dist/engine-oniguruma.js +1 -1
- package/lib/esm/node_modules/shiki/dist/engine-oniguruma.js.map +1 -1
- package/lib/esm/node_modules/shiki/dist/{langs-bundle-full-DfKZStlK.js → langs-bundle-full-YTHnHqaM.js} +2 -2
- package/lib/esm/node_modules/shiki/dist/{langs-bundle-full-DfKZStlK.js.map → langs-bundle-full-YTHnHqaM.js.map} +1 -1
- package/lib/esm/node_modules/shiki/dist/themes.js.map +1 -1
- package/lib/esm/node_modules/shiki/node_modules/@shikijs/engine-oniguruma/dist/index.js.map +1 -1
- package/lib/esm/node_modules/shiki/node_modules/@shikijs/langs/dist/apex.js +1 -1
- package/lib/esm/node_modules/shiki/node_modules/@shikijs/langs/dist/apex.js.map +1 -1
- package/lib/esm/node_modules/shiki/node_modules/@shikijs/langs/dist/c3.js +1 -1
- package/lib/esm/node_modules/shiki/node_modules/@shikijs/langs/dist/c3.js.map +1 -1
- package/lib/esm/node_modules/shiki/node_modules/@shikijs/langs/dist/csharp.js +1 -1
- package/lib/esm/node_modules/shiki/node_modules/@shikijs/langs/dist/csharp.js.map +1 -1
- package/lib/esm/node_modules/shiki/node_modules/@shikijs/langs/dist/hack.js +1 -1
- package/lib/esm/node_modules/shiki/node_modules/@shikijs/langs/dist/hack.js.map +1 -1
- package/lib/esm/node_modules/shiki/node_modules/@shikijs/langs/dist/julia.js +1 -1
- package/lib/esm/node_modules/shiki/node_modules/@shikijs/langs/dist/julia.js.map +1 -1
- package/lib/esm/node_modules/shiki/node_modules/@shikijs/langs/dist/just.js +1 -1
- package/lib/esm/node_modules/shiki/node_modules/@shikijs/langs/dist/just.js.map +1 -1
- package/lib/esm/node_modules/shiki/node_modules/@shikijs/langs/dist/latex.js +1 -1
- package/lib/esm/node_modules/shiki/node_modules/@shikijs/langs/dist/latex.js.map +1 -1
- package/lib/esm/node_modules/shiki/node_modules/@shikijs/langs/dist/luau.js +1 -1
- package/lib/esm/node_modules/shiki/node_modules/@shikijs/langs/dist/luau.js.map +1 -1
- package/lib/esm/node_modules/shiki/node_modules/@shikijs/langs/dist/php.js +1 -1
- package/lib/esm/node_modules/shiki/node_modules/@shikijs/langs/dist/php.js.map +1 -1
- package/lib/esm/node_modules/shiki/node_modules/@shikijs/langs/dist/sql.js +1 -1
- package/lib/esm/node_modules/shiki/node_modules/@shikijs/langs/dist/sql.js.map +1 -1
- package/lib/esm/node_modules/shiki/node_modules/@shikijs/themes/dist/vesper.js +1 -1
- package/lib/esm/node_modules/shiki/node_modules/@shikijs/themes/dist/vesper.js.map +1 -1
- package/lib/esm/shared/clipboard.js +55 -0
- package/lib/esm/shared/clipboard.js.map +1 -0
- package/lib/types/atomic/molecules/markdown/components/MarkdownCodeCopyButton.d.ts.map +1 -1
- package/lib/types/backoffice/atoms/copyable_text/CopyableText.d.ts.map +1 -1
- package/lib/types/backoffice/shared/copyWithExecCommand.d.ts +1 -1
- package/lib/types/backoffice/shared/copyWithExecCommand.d.ts.map +1 -1
- package/lib/types/hooks/useClipboardCopy.d.ts +9 -0
- package/lib/types/hooks/useClipboardCopy.d.ts.map +1 -0
- package/lib/types/index.d.ts +2 -0
- package/lib/types/index.d.ts.map +1 -1
- package/lib/types/shared/clipboard.d.ts +9 -0
- package/lib/types/shared/clipboard.d.ts.map +1 -0
- package/package.json +4 -4
- package/lib/esm/backoffice/shared/copyWithExecCommand.js.map +0 -1
- package/lib/esm/node_modules/shiki/dist/chunk-CtajNgzt.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["splitLines$1","ShikiError$1","codeToTokensWithThemes$1","createShikiPrimitiveAsync$1"],"sources":["../../../../../../../../node_modules/@shikijs/core/dist/index.mjs"],"sourcesContent":["import { ShikiError as ShikiError$1 } from \"@shikijs/types\";\nimport { ShikiError, applyColorReplacements, codeToTokensBase as codeToTokensBase$1, codeToTokensWithThemes, codeToTokensWithThemes as codeToTokensWithThemes$1, createShikiInternal, createShikiInternalSync, createShikiPrimitive, createShikiPrimitive as createShikiPrimitive$1, createShikiPrimitiveAsync, createShikiPrimitiveAsync as createShikiPrimitiveAsync$1, getLastGrammarState, getLastGrammarStateFromMap, isNoneTheme, isPlainLang, isSpecialLang, isSpecialTheme, normalizeGetter, normalizeTheme, resolveColorReplacements, setLastGrammarStateToMap, splitLines, splitLines as splitLines$1, toArray, tokenizeWithTheme } from \"@shikijs/primitive\";\nimport { FontStyle } from \"@shikijs/vscode-textmate\";\nimport { toHtml } from \"hast-util-to-html\";\n\nexport * from \"@shikijs/types\"\n\n//#region src/utils/hast.ts\n/**\n* Utility to append class to a hast node\n*\n* If the `property.class` is a string, it will be splitted by space and converted to an array.\n*/\nfunction addClassToHast(node, className) {\n\tif (!className) return node;\n\tnode.properties ||= {};\n\tnode.properties.class ||= [];\n\tif (typeof node.properties.class === \"string\") node.properties.class = node.properties.class.split(/\\s+/g);\n\tif (!Array.isArray(node.properties.class)) node.properties.class = [];\n\tconst targets = Array.isArray(className) ? className : className.split(/\\s+/g);\n\tfor (const c of targets) if (c && !node.properties.class.includes(c)) node.properties.class.push(c);\n\treturn node;\n}\n\n//#endregion\n//#region src/utils/strings.ts\n/**\n* Creates a converter between index and position in a code block.\n*\n* Overflow/underflow are unchecked.\n*/\nfunction createPositionConverter(code) {\n\tconst lines = splitLines$1(code, true).map(([line]) => line);\n\tfunction indexToPos(index) {\n\t\tif (index === code.length) return {\n\t\t\tline: lines.length - 1,\n\t\t\tcharacter: lines[lines.length - 1].length\n\t\t};\n\t\tlet character = index;\n\t\tlet line = 0;\n\t\tfor (const lineText of lines) {\n\t\t\tif (character < lineText.length) break;\n\t\t\tcharacter -= lineText.length;\n\t\t\tline++;\n\t\t}\n\t\treturn {\n\t\t\tline,\n\t\t\tcharacter\n\t\t};\n\t}\n\tfunction posToIndex(line, character) {\n\t\tlet index = 0;\n\t\tfor (let i = 0; i < line; i++) index += lines[i].length;\n\t\tindex += character;\n\t\treturn index;\n\t}\n\treturn {\n\t\tlines,\n\t\tindexToPos,\n\t\tposToIndex\n\t};\n}\n/**\n* Guess embedded languages from given code and highlighter.\n*\n* When highlighter is provided, only bundled languages will be included.\n*\n* @param code - The code string to analyze\n* @param _lang - The primary language of the code (currently unused)\n* @param highlighter - Optional highlighter instance to validate languages\n* @returns Array of detected language identifiers\n*\n* @example\n* ```ts\n* // Detects 'javascript' from Vue SFC\n* guessEmbeddedLanguages('<script lang=\"javascript\">')\n*\n* // Detects 'python' from markdown code block\n* guessEmbeddedLanguages('```python\\nprint(\"hi\")\\n```')\n* ```\n*/\nfunction guessEmbeddedLanguages(code, _lang, highlighter) {\n\tconst langs = /* @__PURE__ */ new Set();\n\tfor (const match of code.matchAll(/:?lang=[\"']([^\"']+)[\"']/g)) {\n\t\tconst lang = match[1].toLowerCase().trim();\n\t\tif (lang) langs.add(lang);\n\t}\n\tfor (const match of code.matchAll(/(?:```|~~~)([\\w-]+)/g)) {\n\t\tconst lang = match[1].toLowerCase().trim();\n\t\tif (lang) langs.add(lang);\n\t}\n\tfor (const match of code.matchAll(/\\\\begin\\{([\\w-]+)\\}/g)) {\n\t\tconst lang = match[1].toLowerCase().trim();\n\t\tif (lang) langs.add(lang);\n\t}\n\tfor (const match of code.matchAll(/<script\\s+(?:type|lang)=[\"']([^\"']+)[\"']/gi)) {\n\t\tconst fullType = match[1].toLowerCase().trim();\n\t\tconst lang = fullType.includes(\"/\") ? fullType.split(\"/\").pop() : fullType;\n\t\tif (lang) langs.add(lang);\n\t}\n\tif (!highlighter) return Array.from(langs);\n\tconst bundle = highlighter.getBundledLanguages();\n\treturn Array.from(langs).filter((l) => l && bundle[l]);\n}\n\n//#endregion\n//#region src/utils/constants.ts\nconst DEFAULT_COLOR_LIGHT_DARK = \"light-dark()\";\nconst COLOR_KEYS = [\"color\", \"background-color\"];\n\n//#endregion\n//#region src/utils/tokens.ts\n/**\n* Split a token into multiple tokens by given offsets.\n*\n* The offsets are relative to the token, and should be sorted.\n*/\nfunction splitToken(token, offsets) {\n\tlet lastOffset = 0;\n\tconst tokens = [];\n\tfor (const offset of offsets) {\n\t\tif (offset > lastOffset) tokens.push({\n\t\t\t...token,\n\t\t\tcontent: token.content.slice(lastOffset, offset),\n\t\t\toffset: token.offset + lastOffset\n\t\t});\n\t\tlastOffset = offset;\n\t}\n\tif (lastOffset < token.content.length) tokens.push({\n\t\t...token,\n\t\tcontent: token.content.slice(lastOffset),\n\t\toffset: token.offset + lastOffset\n\t});\n\treturn tokens;\n}\n/**\n* Split 2D tokens array by given breakpoints.\n*/\nfunction splitTokens(tokens, breakpoints) {\n\tconst sorted = Array.from(breakpoints instanceof Set ? breakpoints : new Set(breakpoints)).sort((a, b) => a - b);\n\tif (!sorted.length) return tokens;\n\treturn tokens.map((line) => {\n\t\treturn line.flatMap((token) => {\n\t\t\tconst breakpointsInToken = sorted.filter((i) => token.offset < i && i < token.offset + token.content.length).map((i) => i - token.offset).sort((a, b) => a - b);\n\t\t\tif (!breakpointsInToken.length) return token;\n\t\t\treturn splitToken(token, breakpointsInToken);\n\t\t});\n\t});\n}\nfunction flatTokenVariants(merged, variantsOrder, cssVariablePrefix, defaultColor, colorsRendering = \"css-vars\") {\n\tconst token = {\n\t\tcontent: merged.content,\n\t\texplanation: merged.explanation,\n\t\toffset: merged.offset\n\t};\n\tconst styles = variantsOrder.map((t) => getTokenStyleObject(merged.variants[t]));\n\tconst styleKeys = new Set(styles.flatMap((t) => Object.keys(t)));\n\tconst mergedStyles = {};\n\tconst varKey = (idx, key) => {\n\t\tconst keyName = key === \"color\" ? \"\" : key === \"background-color\" ? \"-bg\" : `-${key}`;\n\t\treturn cssVariablePrefix + variantsOrder[idx] + (key === \"color\" ? \"\" : keyName);\n\t};\n\tstyles.forEach((cur, idx) => {\n\t\tfor (const key of styleKeys) {\n\t\t\tconst value = cur[key] || \"inherit\";\n\t\t\tif (idx === 0 && defaultColor && COLOR_KEYS.includes(key)) if (defaultColor === DEFAULT_COLOR_LIGHT_DARK && styles.length > 1) {\n\t\t\t\tconst lightIndex = variantsOrder.findIndex((t) => t === \"light\");\n\t\t\t\tconst darkIndex = variantsOrder.findIndex((t) => t === \"dark\");\n\t\t\t\tif (lightIndex === -1 || darkIndex === -1) throw new ShikiError$1(\"When using `defaultColor: \\\"light-dark()\\\"`, you must provide both `light` and `dark` themes\");\n\t\t\t\tmergedStyles[key] = `light-dark(${styles[lightIndex][key] || \"inherit\"}, ${styles[darkIndex][key] || \"inherit\"})`;\n\t\t\t\tif (colorsRendering === \"css-vars\") mergedStyles[varKey(idx, key)] = value;\n\t\t\t} else mergedStyles[key] = value;\n\t\t\telse if (colorsRendering === \"css-vars\") mergedStyles[varKey(idx, key)] = value;\n\t\t}\n\t});\n\ttoken.htmlStyle = mergedStyles;\n\treturn token;\n}\nfunction getTokenStyleObject(token) {\n\tconst styles = {};\n\tif (token.color) styles.color = token.color;\n\tif (token.bgColor) styles[\"background-color\"] = token.bgColor;\n\tif (token.fontStyle) {\n\t\tif (token.fontStyle & FontStyle.Italic) styles[\"font-style\"] = \"italic\";\n\t\tif (token.fontStyle & FontStyle.Bold) styles[\"font-weight\"] = \"bold\";\n\t\tconst decorations = [];\n\t\tif (token.fontStyle & FontStyle.Underline) decorations.push(\"underline\");\n\t\tif (token.fontStyle & FontStyle.Strikethrough) decorations.push(\"line-through\");\n\t\tif (decorations.length) styles[\"text-decoration\"] = decorations.join(\" \");\n\t}\n\treturn styles;\n}\nfunction stringifyTokenStyle(token) {\n\tif (typeof token === \"string\") return token;\n\treturn Object.entries(token).map(([key, value]) => `${key}:${value}`).join(\";\");\n}\n\n//#endregion\n//#region src/transformer-decorations.ts\n/**\n* A built-in transformer to add decorations to the highlighted code.\n*/\nfunction transformerDecorations() {\n\tconst map = /* @__PURE__ */ new WeakMap();\n\tfunction getContext(shiki) {\n\t\tif (!map.has(shiki.meta)) {\n\t\t\tconst converter = createPositionConverter(shiki.source);\n\t\t\tfunction normalizePosition(p) {\n\t\t\t\tif (typeof p === \"number\") {\n\t\t\t\t\tif (p < 0 || p > shiki.source.length) throw new ShikiError$1(`Invalid decoration offset: ${p}. Code length: ${shiki.source.length}`);\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...converter.indexToPos(p),\n\t\t\t\t\t\toffset: p\n\t\t\t\t\t};\n\t\t\t\t} else {\n\t\t\t\t\tconst line = converter.lines[p.line];\n\t\t\t\t\tif (line === void 0) throw new ShikiError$1(`Invalid decoration position ${JSON.stringify(p)}. Lines length: ${converter.lines.length}`);\n\t\t\t\t\tlet character = p.character;\n\t\t\t\t\tif (character < 0) character = line.length + character;\n\t\t\t\t\tif (character < 0 || character > line.length) throw new ShikiError$1(`Invalid decoration position ${JSON.stringify(p)}. Line ${p.line} length: ${line.length}`);\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...p,\n\t\t\t\t\t\tcharacter,\n\t\t\t\t\t\toffset: converter.posToIndex(p.line, character)\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t}\n\t\t\tconst decorations = (shiki.options.decorations || []).map((d) => ({\n\t\t\t\t...d,\n\t\t\t\tstart: normalizePosition(d.start),\n\t\t\t\tend: normalizePosition(d.end)\n\t\t\t}));\n\t\t\tverifyIntersections(decorations);\n\t\t\tmap.set(shiki.meta, {\n\t\t\t\tdecorations,\n\t\t\t\tconverter,\n\t\t\t\tsource: shiki.source\n\t\t\t});\n\t\t}\n\t\treturn map.get(shiki.meta);\n\t}\n\treturn {\n\t\tname: \"shiki:decorations\",\n\t\ttokens(tokens) {\n\t\t\tif (!this.options.decorations?.length) return;\n\t\t\treturn splitTokens(tokens, getContext(this).decorations.flatMap((d) => [d.start.offset, d.end.offset]));\n\t\t},\n\t\tcode(codeEl) {\n\t\t\tif (!this.options.decorations?.length) return;\n\t\t\tconst ctx = getContext(this);\n\t\t\tconst lines = Array.from(codeEl.children).filter((i) => i.type === \"element\" && i.tagName === \"span\");\n\t\t\tif (lines.length !== ctx.converter.lines.length) throw new ShikiError$1(`Number of lines in code element (${lines.length}) does not match the number of lines in the source (${ctx.converter.lines.length}). Failed to apply decorations.`);\n\t\t\tfunction applyLineSection(line, start, end, decoration) {\n\t\t\t\tconst lineEl = lines[line];\n\t\t\t\tlet text = \"\";\n\t\t\t\tlet startIndex = -1;\n\t\t\t\tlet endIndex = -1;\n\t\t\t\tif (start === 0) startIndex = 0;\n\t\t\t\tif (end === 0) endIndex = 0;\n\t\t\t\tif (end === Number.POSITIVE_INFINITY) endIndex = lineEl.children.length;\n\t\t\t\tif (startIndex === -1 || endIndex === -1) for (let i = 0; i < lineEl.children.length; i++) {\n\t\t\t\t\ttext += stringify(lineEl.children[i]);\n\t\t\t\t\tif (startIndex === -1 && text.length === start) startIndex = i + 1;\n\t\t\t\t\tif (endIndex === -1 && text.length === end) endIndex = i + 1;\n\t\t\t\t}\n\t\t\t\tif (startIndex === -1) throw new ShikiError$1(`Failed to find start index for decoration ${JSON.stringify(decoration.start)}`);\n\t\t\t\tif (endIndex === -1) throw new ShikiError$1(`Failed to find end index for decoration ${JSON.stringify(decoration.end)}`);\n\t\t\t\tconst children = lineEl.children.slice(startIndex, endIndex);\n\t\t\t\tif (!decoration.alwaysWrap && children.length === lineEl.children.length) applyDecoration(lineEl, decoration, \"line\");\n\t\t\t\telse if (!decoration.alwaysWrap && children.length === 1 && children[0].type === \"element\") applyDecoration(children[0], decoration, \"token\");\n\t\t\t\telse {\n\t\t\t\t\tconst wrapper = {\n\t\t\t\t\t\ttype: \"element\",\n\t\t\t\t\t\ttagName: \"span\",\n\t\t\t\t\t\tproperties: {},\n\t\t\t\t\t\tchildren\n\t\t\t\t\t};\n\t\t\t\t\tapplyDecoration(wrapper, decoration, \"wrapper\");\n\t\t\t\t\tlineEl.children.splice(startIndex, children.length, wrapper);\n\t\t\t\t}\n\t\t\t}\n\t\t\tfunction applyLine(line, decoration) {\n\t\t\t\tlines[line] = applyDecoration(lines[line], decoration, \"line\");\n\t\t\t}\n\t\t\tfunction applyDecoration(el, decoration, type) {\n\t\t\t\tconst properties = decoration.properties || {};\n\t\t\t\tconst transform = decoration.transform || ((i) => i);\n\t\t\t\tel.tagName = decoration.tagName || \"span\";\n\t\t\t\tel.properties = {\n\t\t\t\t\t...el.properties,\n\t\t\t\t\t...properties,\n\t\t\t\t\tclass: el.properties.class\n\t\t\t\t};\n\t\t\t\tif (decoration.properties?.class) addClassToHast(el, decoration.properties.class);\n\t\t\t\tel = transform(el, type) || el;\n\t\t\t\treturn el;\n\t\t\t}\n\t\t\tconst lineApplies = [];\n\t\t\tconst sorted = ctx.decorations.sort((a, b) => b.start.offset - a.start.offset || a.end.offset - b.end.offset);\n\t\t\tfor (const decoration of sorted) {\n\t\t\t\tconst { start, end } = decoration;\n\t\t\t\tif (start.line === end.line) applyLineSection(start.line, start.character, end.character, decoration);\n\t\t\t\telse if (start.line < end.line) {\n\t\t\t\t\tapplyLineSection(start.line, start.character, Number.POSITIVE_INFINITY, decoration);\n\t\t\t\t\tfor (let i = start.line + 1; i < end.line; i++) lineApplies.unshift(() => applyLine(i, decoration));\n\t\t\t\t\tapplyLineSection(end.line, 0, end.character, decoration);\n\t\t\t\t}\n\t\t\t}\n\t\t\tlineApplies.forEach((i) => i());\n\t\t}\n\t};\n}\nfunction verifyIntersections(items) {\n\tfor (let i = 0; i < items.length; i++) {\n\t\tconst foo = items[i];\n\t\tif (foo.start.offset > foo.end.offset) throw new ShikiError$1(`Invalid decoration range: ${JSON.stringify(foo.start)} - ${JSON.stringify(foo.end)}`);\n\t\tfor (let j = i + 1; j < items.length; j++) {\n\t\t\tconst bar = items[j];\n\t\t\tconst isFooHasBarStart = foo.start.offset <= bar.start.offset && bar.start.offset < foo.end.offset;\n\t\t\tconst isFooHasBarEnd = foo.start.offset < bar.end.offset && bar.end.offset <= foo.end.offset;\n\t\t\tconst isBarHasFooStart = bar.start.offset <= foo.start.offset && foo.start.offset < bar.end.offset;\n\t\t\tconst isBarHasFooEnd = bar.start.offset < foo.end.offset && foo.end.offset <= bar.end.offset;\n\t\t\tif (isFooHasBarStart || isFooHasBarEnd || isBarHasFooStart || isBarHasFooEnd) {\n\t\t\t\tif (isFooHasBarStart && isFooHasBarEnd) continue;\n\t\t\t\tif (isBarHasFooStart && isBarHasFooEnd) continue;\n\t\t\t\tif (isBarHasFooStart && foo.start.offset === foo.end.offset) continue;\n\t\t\t\tif (isFooHasBarEnd && bar.start.offset === bar.end.offset) continue;\n\t\t\t\tthrow new ShikiError$1(`Decorations ${JSON.stringify(foo.start)} and ${JSON.stringify(bar.start)} intersect.`);\n\t\t\t}\n\t\t}\n\t}\n}\nfunction stringify(el) {\n\tif (el.type === \"text\") return el.value;\n\tif (el.type === \"element\") return el.children.map(stringify).join(\"\");\n\treturn \"\";\n}\n\n//#endregion\n//#region src/highlight/_get-transformers.ts\nconst builtInTransformers = [/* @__PURE__ */ transformerDecorations()];\nfunction getTransformers(options) {\n\tconst transformers = sortTransformersByEnforcement(options.transformers || []);\n\treturn [\n\t\t...transformers.pre,\n\t\t...transformers.normal,\n\t\t...transformers.post,\n\t\t...builtInTransformers\n\t];\n}\nfunction sortTransformersByEnforcement(transformers) {\n\tconst pre = [];\n\tconst post = [];\n\tconst normal = [];\n\tfor (const transformer of transformers) switch (transformer.enforce) {\n\t\tcase \"pre\":\n\t\t\tpre.push(transformer);\n\t\t\tbreak;\n\t\tcase \"post\":\n\t\t\tpost.push(transformer);\n\t\t\tbreak;\n\t\tdefault: normal.push(transformer);\n\t}\n\treturn {\n\t\tpre,\n\t\tpost,\n\t\tnormal\n\t};\n}\n\n//#endregion\n//#region ../../node_modules/.pnpm/ansi-sequence-parser@1.1.3/node_modules/ansi-sequence-parser/dist/index.js\nvar namedColors = [\n\t\"black\",\n\t\"red\",\n\t\"green\",\n\t\"yellow\",\n\t\"blue\",\n\t\"magenta\",\n\t\"cyan\",\n\t\"white\",\n\t\"brightBlack\",\n\t\"brightRed\",\n\t\"brightGreen\",\n\t\"brightYellow\",\n\t\"brightBlue\",\n\t\"brightMagenta\",\n\t\"brightCyan\",\n\t\"brightWhite\"\n];\nvar decorations = {\n\t1: \"bold\",\n\t2: \"dim\",\n\t3: \"italic\",\n\t4: \"underline\",\n\t7: \"reverse\",\n\t8: \"hidden\",\n\t9: \"strikethrough\"\n};\nfunction findSequence(value, position) {\n\tconst nextEscape = value.indexOf(\"\\x1B\", position);\n\tif (nextEscape !== -1) {\n\t\tif (value[nextEscape + 1] === \"[\") {\n\t\t\tconst nextClose = value.indexOf(\"m\", nextEscape);\n\t\t\tif (nextClose !== -1) return {\n\t\t\t\tsequence: value.substring(nextEscape + 2, nextClose).split(\";\"),\n\t\t\t\tstartPosition: nextEscape,\n\t\t\t\tposition: nextClose + 1\n\t\t\t};\n\t\t}\n\t}\n\treturn { position: value.length };\n}\nfunction parseColor(sequence) {\n\tconst colorMode = sequence.shift();\n\tif (colorMode === \"2\") {\n\t\tconst rgb = sequence.splice(0, 3).map((x) => Number.parseInt(x));\n\t\tif (rgb.length !== 3 || rgb.some((x) => Number.isNaN(x))) return;\n\t\treturn {\n\t\t\ttype: \"rgb\",\n\t\t\trgb\n\t\t};\n\t} else if (colorMode === \"5\") {\n\t\tconst index = sequence.shift();\n\t\tif (index) return {\n\t\t\ttype: \"table\",\n\t\t\tindex: Number(index)\n\t\t};\n\t}\n}\nfunction parseSequence(sequence) {\n\tconst commands = [];\n\twhile (sequence.length > 0) {\n\t\tconst code = sequence.shift();\n\t\tif (!code) continue;\n\t\tconst codeInt = Number.parseInt(code);\n\t\tif (Number.isNaN(codeInt)) continue;\n\t\tif (codeInt === 0) commands.push({ type: \"resetAll\" });\n\t\telse if (codeInt <= 9) {\n\t\t\tif (decorations[codeInt]) commands.push({\n\t\t\t\ttype: \"setDecoration\",\n\t\t\t\tvalue: decorations[codeInt]\n\t\t\t});\n\t\t} else if (codeInt <= 29) {\n\t\t\tconst decoration = decorations[codeInt - 20];\n\t\t\tif (decoration) {\n\t\t\t\tcommands.push({\n\t\t\t\t\ttype: \"resetDecoration\",\n\t\t\t\t\tvalue: decoration\n\t\t\t\t});\n\t\t\t\tif (decoration === \"dim\") commands.push({\n\t\t\t\t\ttype: \"resetDecoration\",\n\t\t\t\t\tvalue: \"bold\"\n\t\t\t\t});\n\t\t\t}\n\t\t} else if (codeInt <= 37) commands.push({\n\t\t\ttype: \"setForegroundColor\",\n\t\t\tvalue: {\n\t\t\t\ttype: \"named\",\n\t\t\t\tname: namedColors[codeInt - 30]\n\t\t\t}\n\t\t});\n\t\telse if (codeInt === 38) {\n\t\t\tconst color = parseColor(sequence);\n\t\t\tif (color) commands.push({\n\t\t\t\ttype: \"setForegroundColor\",\n\t\t\t\tvalue: color\n\t\t\t});\n\t\t} else if (codeInt === 39) commands.push({ type: \"resetForegroundColor\" });\n\t\telse if (codeInt <= 47) commands.push({\n\t\t\ttype: \"setBackgroundColor\",\n\t\t\tvalue: {\n\t\t\t\ttype: \"named\",\n\t\t\t\tname: namedColors[codeInt - 40]\n\t\t\t}\n\t\t});\n\t\telse if (codeInt === 48) {\n\t\t\tconst color = parseColor(sequence);\n\t\t\tif (color) commands.push({\n\t\t\t\ttype: \"setBackgroundColor\",\n\t\t\t\tvalue: color\n\t\t\t});\n\t\t} else if (codeInt === 49) commands.push({ type: \"resetBackgroundColor\" });\n\t\telse if (codeInt === 53) commands.push({\n\t\t\ttype: \"setDecoration\",\n\t\t\tvalue: \"overline\"\n\t\t});\n\t\telse if (codeInt === 55) commands.push({\n\t\t\ttype: \"resetDecoration\",\n\t\t\tvalue: \"overline\"\n\t\t});\n\t\telse if (codeInt >= 90 && codeInt <= 97) commands.push({\n\t\t\ttype: \"setForegroundColor\",\n\t\t\tvalue: {\n\t\t\t\ttype: \"named\",\n\t\t\t\tname: namedColors[codeInt - 90 + 8]\n\t\t\t}\n\t\t});\n\t\telse if (codeInt >= 100 && codeInt <= 107) commands.push({\n\t\t\ttype: \"setBackgroundColor\",\n\t\t\tvalue: {\n\t\t\t\ttype: \"named\",\n\t\t\t\tname: namedColors[codeInt - 100 + 8]\n\t\t\t}\n\t\t});\n\t}\n\treturn commands;\n}\nfunction createAnsiSequenceParser() {\n\tlet foreground = null;\n\tlet background = null;\n\tlet decorations2 = /* @__PURE__ */ new Set();\n\treturn { parse(value) {\n\t\tconst tokens = [];\n\t\tlet position = 0;\n\t\tdo {\n\t\t\tconst findResult = findSequence(value, position);\n\t\t\tconst text = findResult.sequence ? value.substring(position, findResult.startPosition) : value.substring(position);\n\t\t\tif (text.length > 0) tokens.push({\n\t\t\t\tvalue: text,\n\t\t\t\tforeground,\n\t\t\t\tbackground,\n\t\t\t\tdecorations: new Set(decorations2)\n\t\t\t});\n\t\t\tif (findResult.sequence) {\n\t\t\t\tconst commands = parseSequence(findResult.sequence);\n\t\t\t\tfor (const styleToken of commands) if (styleToken.type === \"resetAll\") {\n\t\t\t\t\tforeground = null;\n\t\t\t\t\tbackground = null;\n\t\t\t\t\tdecorations2.clear();\n\t\t\t\t} else if (styleToken.type === \"resetForegroundColor\") foreground = null;\n\t\t\t\telse if (styleToken.type === \"resetBackgroundColor\") background = null;\n\t\t\t\telse if (styleToken.type === \"resetDecoration\") decorations2.delete(styleToken.value);\n\t\t\t\tfor (const styleToken of commands) if (styleToken.type === \"setForegroundColor\") foreground = styleToken.value;\n\t\t\t\telse if (styleToken.type === \"setBackgroundColor\") background = styleToken.value;\n\t\t\t\telse if (styleToken.type === \"setDecoration\") decorations2.add(styleToken.value);\n\t\t\t}\n\t\t\tposition = findResult.position;\n\t\t} while (position < value.length);\n\t\treturn tokens;\n\t} };\n}\nvar defaultNamedColorsMap = {\n\tblack: \"#000000\",\n\tred: \"#bb0000\",\n\tgreen: \"#00bb00\",\n\tyellow: \"#bbbb00\",\n\tblue: \"#0000bb\",\n\tmagenta: \"#ff00ff\",\n\tcyan: \"#00bbbb\",\n\twhite: \"#eeeeee\",\n\tbrightBlack: \"#555555\",\n\tbrightRed: \"#ff5555\",\n\tbrightGreen: \"#00ff00\",\n\tbrightYellow: \"#ffff55\",\n\tbrightBlue: \"#5555ff\",\n\tbrightMagenta: \"#ff55ff\",\n\tbrightCyan: \"#55ffff\",\n\tbrightWhite: \"#ffffff\"\n};\nfunction createColorPalette(namedColorsMap = defaultNamedColorsMap) {\n\tfunction namedColor(name) {\n\t\treturn namedColorsMap[name];\n\t}\n\tfunction rgbColor(rgb) {\n\t\treturn `#${rgb.map((x) => Math.max(0, Math.min(x, 255)).toString(16).padStart(2, \"0\")).join(\"\")}`;\n\t}\n\tlet colorTable;\n\tfunction getColorTable() {\n\t\tif (colorTable) return colorTable;\n\t\tcolorTable = [];\n\t\tfor (let i = 0; i < namedColors.length; i++) colorTable.push(namedColor(namedColors[i]));\n\t\tlet levels = [\n\t\t\t0,\n\t\t\t95,\n\t\t\t135,\n\t\t\t175,\n\t\t\t215,\n\t\t\t255\n\t\t];\n\t\tfor (let r = 0; r < 6; r++) for (let g = 0; g < 6; g++) for (let b = 0; b < 6; b++) colorTable.push(rgbColor([\n\t\t\tlevels[r],\n\t\t\tlevels[g],\n\t\t\tlevels[b]\n\t\t]));\n\t\tlet level = 8;\n\t\tfor (let i = 0; i < 24; i++, level += 10) colorTable.push(rgbColor([\n\t\t\tlevel,\n\t\t\tlevel,\n\t\t\tlevel\n\t\t]));\n\t\treturn colorTable;\n\t}\n\tfunction tableColor(index) {\n\t\treturn getColorTable()[index];\n\t}\n\tfunction value(color) {\n\t\tswitch (color.type) {\n\t\t\tcase \"named\": return namedColor(color.name);\n\t\t\tcase \"rgb\": return rgbColor(color.rgb);\n\t\t\tcase \"table\": return tableColor(color.index);\n\t\t}\n\t}\n\treturn { value };\n}\n\n//#endregion\n//#region src/highlight/code-to-tokens-ansi.ts\n/**\n* Default ANSI palette (VSCode compatible fallbacks)\n* Used when the theme does not define terminal.ansi* colors.\n*/\nconst defaultAnsiColors = {\n\tblack: \"#000000\",\n\tred: \"#cd3131\",\n\tgreen: \"#0DBC79\",\n\tyellow: \"#E5E510\",\n\tblue: \"#2472C8\",\n\tmagenta: \"#BC3FBC\",\n\tcyan: \"#11A8CD\",\n\twhite: \"#E5E5E5\",\n\tbrightBlack: \"#666666\",\n\tbrightRed: \"#F14C4C\",\n\tbrightGreen: \"#23D18B\",\n\tbrightYellow: \"#F5F543\",\n\tbrightBlue: \"#3B8EEA\",\n\tbrightMagenta: \"#D670D6\",\n\tbrightCyan: \"#29B8DB\",\n\tbrightWhite: \"#FFFFFF\"\n};\nfunction tokenizeAnsiWithTheme(theme, fileContents, options) {\n\tconst colorReplacements = resolveColorReplacements(theme, options);\n\tconst lines = splitLines(fileContents);\n\tconst colorPalette = createColorPalette(Object.fromEntries(namedColors.map((name) => {\n\t\tconst key = `terminal.ansi${name[0].toUpperCase()}${name.substring(1)}`;\n\t\treturn [name, theme.colors?.[key] || defaultAnsiColors[name]];\n\t})));\n\tconst parser = createAnsiSequenceParser();\n\treturn lines.map((line) => parser.parse(line[0]).map((token) => {\n\t\tlet color;\n\t\tlet bgColor;\n\t\tif (token.decorations.has(\"reverse\")) {\n\t\t\tcolor = token.background ? colorPalette.value(token.background) : theme.bg;\n\t\t\tbgColor = token.foreground ? colorPalette.value(token.foreground) : theme.fg;\n\t\t} else {\n\t\t\tcolor = token.foreground ? colorPalette.value(token.foreground) : theme.fg;\n\t\t\tbgColor = token.background ? colorPalette.value(token.background) : void 0;\n\t\t}\n\t\tcolor = applyColorReplacements(color, colorReplacements);\n\t\tbgColor = applyColorReplacements(bgColor, colorReplacements);\n\t\tif (token.decorations.has(\"dim\")) color = dimColor(color);\n\t\tlet fontStyle = FontStyle.None;\n\t\tif (token.decorations.has(\"bold\")) fontStyle |= FontStyle.Bold;\n\t\tif (token.decorations.has(\"italic\")) fontStyle |= FontStyle.Italic;\n\t\tif (token.decorations.has(\"underline\")) fontStyle |= FontStyle.Underline;\n\t\tif (token.decorations.has(\"strikethrough\")) fontStyle |= FontStyle.Strikethrough;\n\t\treturn {\n\t\t\tcontent: token.value,\n\t\t\toffset: line[1],\n\t\t\tcolor,\n\t\t\tbgColor,\n\t\t\tfontStyle\n\t\t};\n\t}));\n}\n/**\n* Adds 50% alpha to a hex color string or the \"-dim\" postfix to a CSS variable\n*/\nfunction dimColor(color) {\n\tconst hexMatch = color.match(/#([0-9a-f]{3,8})/i);\n\tif (hexMatch) {\n\t\tconst hex = hexMatch[1];\n\t\tif (hex.length === 8) {\n\t\t\tconst alpha = Math.round(Number.parseInt(hex.slice(6, 8), 16) / 2).toString(16).padStart(2, \"0\");\n\t\t\treturn `#${hex.slice(0, 6)}${alpha}`;\n\t\t} else if (hex.length === 6) return `#${hex}80`;\n\t\telse if (hex.length === 4) {\n\t\t\tconst r = hex[0];\n\t\t\tconst g = hex[1];\n\t\t\tconst b = hex[2];\n\t\t\tconst a = hex[3];\n\t\t\treturn `#${r}${r}${g}${g}${b}${b}${Math.round(Number.parseInt(`${a}${a}`, 16) / 2).toString(16).padStart(2, \"0\")}`;\n\t\t} else if (hex.length === 3) {\n\t\t\tconst r = hex[0];\n\t\t\tconst g = hex[1];\n\t\t\tconst b = hex[2];\n\t\t\treturn `#${r}${r}${g}${g}${b}${b}80`;\n\t\t}\n\t}\n\tconst cssVarMatch = color.match(/var\\((--[\\w-]+-ansi-[\\w-]+)\\)/);\n\tif (cssVarMatch) return `var(${cssVarMatch[1]}-dim)`;\n\treturn color;\n}\n\n//#endregion\n//#region src/highlight/code-to-tokens-base.ts\n/**\n* Code to tokens, with a simple theme.\n* This wraps the tokenizer's implementation to add ANSI support.\n*/\nfunction codeToTokensBase(primitive, code, options = {}) {\n\tconst lang = primitive.resolveLangAlias(options.lang || \"text\");\n\tconst { theme: themeName = primitive.getLoadedThemes()[0] } = options;\n\tif (!isPlainLang(lang) && !isNoneTheme(themeName) && lang === \"ansi\") {\n\t\tconst { theme } = primitive.setTheme(themeName);\n\t\treturn tokenizeAnsiWithTheme(theme, code, options);\n\t}\n\treturn codeToTokensBase$1(primitive, code, options);\n}\n\n//#endregion\n//#region src/highlight/code-to-tokens.ts\n/**\n* High-level code-to-tokens API.\n*\n* It will use `codeToTokensWithThemes` or `codeToTokensBase` based on the options.\n*/\nfunction codeToTokens(primitive, code, options) {\n\tlet bg;\n\tlet fg;\n\tlet tokens;\n\tlet themeName;\n\tlet rootStyle;\n\tlet grammarState;\n\tif (\"themes\" in options) {\n\t\tconst { defaultColor = \"light\", cssVariablePrefix = \"--shiki-\", colorsRendering = \"css-vars\" } = options;\n\t\tconst themes = Object.entries(options.themes).filter((i) => i[1]).map((i) => ({\n\t\t\tcolor: i[0],\n\t\t\ttheme: i[1]\n\t\t})).sort((a, b) => a.color === defaultColor ? -1 : b.color === defaultColor ? 1 : 0);\n\t\tif (themes.length === 0) throw new ShikiError$1(\"`themes` option must not be empty\");\n\t\tconst themeTokens = codeToTokensWithThemes$1(primitive, code, options, codeToTokensBase);\n\t\tgrammarState = getLastGrammarStateFromMap(themeTokens);\n\t\tif (defaultColor && DEFAULT_COLOR_LIGHT_DARK !== defaultColor && !themes.find((t) => t.color === defaultColor)) throw new ShikiError$1(`\\`themes\\` option must contain the defaultColor key \\`${defaultColor}\\``);\n\t\tconst themeRegs = themes.map((t) => primitive.getTheme(t.theme));\n\t\tconst themesOrder = themes.map((t) => t.color);\n\t\ttokens = themeTokens.map((line) => line.map((token) => flatTokenVariants(token, themesOrder, cssVariablePrefix, defaultColor, colorsRendering)));\n\t\tif (grammarState) setLastGrammarStateToMap(tokens, grammarState);\n\t\tconst themeColorReplacements = themes.map((t) => resolveColorReplacements(t.theme, options));\n\t\tfg = mapThemeColors(themes, themeRegs, themeColorReplacements, cssVariablePrefix, defaultColor, \"fg\", colorsRendering);\n\t\tbg = mapThemeColors(themes, themeRegs, themeColorReplacements, cssVariablePrefix, defaultColor, \"bg\", colorsRendering);\n\t\tthemeName = `shiki-themes ${themeRegs.map((t) => t.name).join(\" \")}`;\n\t\trootStyle = defaultColor ? void 0 : [fg, bg].join(\";\");\n\t} else if (\"theme\" in options) {\n\t\tconst colorReplacements = resolveColorReplacements(options.theme, options);\n\t\ttokens = codeToTokensBase(primitive, code, options);\n\t\tconst _theme = primitive.getTheme(options.theme);\n\t\tbg = applyColorReplacements(_theme.bg, colorReplacements);\n\t\tfg = applyColorReplacements(_theme.fg, colorReplacements);\n\t\tthemeName = _theme.name;\n\t\tgrammarState = getLastGrammarStateFromMap(tokens);\n\t} else throw new ShikiError$1(\"Invalid options, either `theme` or `themes` must be provided\");\n\treturn {\n\t\ttokens,\n\t\tfg,\n\t\tbg,\n\t\tthemeName,\n\t\trootStyle,\n\t\tgrammarState\n\t};\n}\nfunction mapThemeColors(themes, themeRegs, themeColorReplacements, cssVariablePrefix, defaultColor, property, colorsRendering) {\n\treturn themes.map((t, idx) => {\n\t\tconst value = applyColorReplacements(themeRegs[idx][property], themeColorReplacements[idx]) || \"inherit\";\n\t\tconst cssVar = `${cssVariablePrefix + t.color}${property === \"bg\" ? \"-bg\" : \"\"}:${value}`;\n\t\tif (idx === 0 && defaultColor) {\n\t\t\tif (defaultColor === DEFAULT_COLOR_LIGHT_DARK && themes.length > 1) {\n\t\t\t\tconst lightIndex = themes.findIndex((t) => t.color === \"light\");\n\t\t\t\tconst darkIndex = themes.findIndex((t) => t.color === \"dark\");\n\t\t\t\tif (lightIndex === -1 || darkIndex === -1) throw new ShikiError$1(\"When using `defaultColor: \\\"light-dark()\\\"`, you must provide both `light` and `dark` themes\");\n\t\t\t\treturn `light-dark(${applyColorReplacements(themeRegs[lightIndex][property], themeColorReplacements[lightIndex]) || \"inherit\"}, ${applyColorReplacements(themeRegs[darkIndex][property], themeColorReplacements[darkIndex]) || \"inherit\"});${cssVar}`;\n\t\t\t}\n\t\t\treturn value;\n\t\t}\n\t\tif (colorsRendering === \"css-vars\") return cssVar;\n\t\treturn null;\n\t}).filter((i) => !!i).join(\";\");\n}\n\n//#endregion\n//#region src/highlight/code-to-hast.ts\nfunction codeToHast(primitive, code, options, transformerContext = {\n\tmeta: {},\n\toptions,\n\tcodeToHast: (_code, _options) => codeToHast(primitive, _code, _options),\n\tcodeToTokens: (_code, _options) => codeToTokens(primitive, _code, _options)\n}) {\n\tlet input = code;\n\tfor (const transformer of getTransformers(options)) input = transformer.preprocess?.call(transformerContext, input, options) || input;\n\tlet { tokens, fg, bg, themeName, rootStyle, grammarState } = codeToTokens(primitive, input, options);\n\tconst { mergeWhitespaces = true, mergeSameStyleTokens = false } = options;\n\tif (mergeWhitespaces === true) tokens = mergeWhitespaceTokens(tokens);\n\telse if (mergeWhitespaces === \"never\") tokens = splitWhitespaceTokens(tokens);\n\tif (mergeSameStyleTokens) tokens = mergeAdjacentStyledTokens(tokens);\n\tconst contextSource = {\n\t\t...transformerContext,\n\t\tget source() {\n\t\t\treturn input;\n\t\t}\n\t};\n\tfor (const transformer of getTransformers(options)) tokens = transformer.tokens?.call(contextSource, tokens) || tokens;\n\treturn tokensToHast(tokens, {\n\t\t...options,\n\t\tfg,\n\t\tbg,\n\t\tthemeName,\n\t\trootStyle: options.rootStyle === false ? false : options.rootStyle ?? rootStyle\n\t}, contextSource, grammarState);\n}\nfunction tokensToHast(tokens, options, transformerContext, grammarState = getLastGrammarStateFromMap(tokens)) {\n\tconst transformers = getTransformers(options);\n\tconst lines = [];\n\tconst root = {\n\t\ttype: \"root\",\n\t\tchildren: []\n\t};\n\tconst { structure = \"classic\", tabindex = \"0\" } = options;\n\tconst properties = { class: `shiki ${options.themeName || \"\"}` };\n\tif (options.rootStyle !== false) if (options.rootStyle != null) properties.style = options.rootStyle;\n\telse properties.style = `background-color:${options.bg};color:${options.fg}`;\n\tif (tabindex !== false && tabindex != null) properties.tabindex = tabindex.toString();\n\tfor (const [key, value] of Object.entries(options.meta || {})) if (!key.startsWith(\"_\")) properties[key] = value;\n\tlet preNode = {\n\t\ttype: \"element\",\n\t\ttagName: \"pre\",\n\t\tproperties,\n\t\tchildren: [],\n\t\tdata: options.data\n\t};\n\tlet codeNode = {\n\t\ttype: \"element\",\n\t\ttagName: \"code\",\n\t\tproperties: {},\n\t\tchildren: lines\n\t};\n\tconst lineNodes = [];\n\tconst context = {\n\t\t...transformerContext,\n\t\tstructure,\n\t\taddClassToHast,\n\t\tget source() {\n\t\t\treturn transformerContext.source;\n\t\t},\n\t\tget tokens() {\n\t\t\treturn tokens;\n\t\t},\n\t\tget options() {\n\t\t\treturn options;\n\t\t},\n\t\tget root() {\n\t\t\treturn root;\n\t\t},\n\t\tget pre() {\n\t\t\treturn preNode;\n\t\t},\n\t\tget code() {\n\t\t\treturn codeNode;\n\t\t},\n\t\tget lines() {\n\t\t\treturn lineNodes;\n\t\t}\n\t};\n\ttokens.forEach((line, idx) => {\n\t\tif (idx) {\n\t\t\tif (structure === \"inline\") root.children.push({\n\t\t\t\ttype: \"element\",\n\t\t\t\ttagName: \"br\",\n\t\t\t\tproperties: {},\n\t\t\t\tchildren: []\n\t\t\t});\n\t\t\telse if (structure === \"classic\") lines.push({\n\t\t\t\ttype: \"text\",\n\t\t\t\tvalue: \"\\n\"\n\t\t\t});\n\t\t}\n\t\tlet lineNode = {\n\t\t\ttype: \"element\",\n\t\t\ttagName: \"span\",\n\t\t\tproperties: { class: \"line\" },\n\t\t\tchildren: []\n\t\t};\n\t\tlet col = 0;\n\t\tfor (const token of line) {\n\t\t\tlet tokenNode = {\n\t\t\t\ttype: \"element\",\n\t\t\t\ttagName: \"span\",\n\t\t\t\tproperties: { ...token.htmlAttrs },\n\t\t\t\tchildren: [{\n\t\t\t\t\ttype: \"text\",\n\t\t\t\t\tvalue: token.content\n\t\t\t\t}]\n\t\t\t};\n\t\t\tconst style = stringifyTokenStyle(token.htmlStyle || getTokenStyleObject(token));\n\t\t\tif (style) tokenNode.properties.style = style;\n\t\t\tfor (const transformer of transformers) tokenNode = transformer?.span?.call(context, tokenNode, idx + 1, col, lineNode, token) || tokenNode;\n\t\t\tif (structure === \"inline\") root.children.push(tokenNode);\n\t\t\telse if (structure === \"classic\") lineNode.children.push(tokenNode);\n\t\t\tcol += token.content.length;\n\t\t}\n\t\tif (structure === \"classic\") {\n\t\t\tfor (const transformer of transformers) lineNode = transformer?.line?.call(context, lineNode, idx + 1) || lineNode;\n\t\t\tlineNodes.push(lineNode);\n\t\t\tlines.push(lineNode);\n\t\t} else if (structure === \"inline\") lineNodes.push(lineNode);\n\t});\n\tif (structure === \"classic\") {\n\t\tfor (const transformer of transformers) codeNode = transformer?.code?.call(context, codeNode) || codeNode;\n\t\tpreNode.children.push(codeNode);\n\t\tfor (const transformer of transformers) preNode = transformer?.pre?.call(context, preNode) || preNode;\n\t\troot.children.push(preNode);\n\t} else if (structure === \"inline\") {\n\t\tconst syntheticLines = [];\n\t\tlet currentLine = {\n\t\t\ttype: \"element\",\n\t\t\ttagName: \"span\",\n\t\t\tproperties: { class: \"line\" },\n\t\t\tchildren: []\n\t\t};\n\t\tfor (const child of root.children) if (child.type === \"element\" && child.tagName === \"br\") {\n\t\t\tsyntheticLines.push(currentLine);\n\t\t\tcurrentLine = {\n\t\t\t\ttype: \"element\",\n\t\t\t\ttagName: \"span\",\n\t\t\t\tproperties: { class: \"line\" },\n\t\t\t\tchildren: []\n\t\t\t};\n\t\t} else if (child.type === \"element\" || child.type === \"text\") currentLine.children.push(child);\n\t\tsyntheticLines.push(currentLine);\n\t\tlet transformedCode = {\n\t\t\ttype: \"element\",\n\t\t\ttagName: \"code\",\n\t\t\tproperties: {},\n\t\t\tchildren: syntheticLines\n\t\t};\n\t\tfor (const transformer of transformers) transformedCode = transformer?.code?.call(context, transformedCode) || transformedCode;\n\t\troot.children = [];\n\t\tfor (let i = 0; i < transformedCode.children.length; i++) {\n\t\t\tif (i > 0) root.children.push({\n\t\t\t\ttype: \"element\",\n\t\t\t\ttagName: \"br\",\n\t\t\t\tproperties: {},\n\t\t\t\tchildren: []\n\t\t\t});\n\t\t\tconst line = transformedCode.children[i];\n\t\t\tif (line.type === \"element\") root.children.push(...line.children);\n\t\t}\n\t}\n\tlet result = root;\n\tfor (const transformer of transformers) result = transformer?.root?.call(context, result) || result;\n\tif (grammarState) setLastGrammarStateToMap(result, grammarState);\n\treturn result;\n}\nfunction mergeWhitespaceTokens(tokens) {\n\treturn tokens.map((line) => {\n\t\tconst newLine = [];\n\t\tlet carryOnContent = \"\";\n\t\tlet firstOffset;\n\t\tline.forEach((token, idx) => {\n\t\t\tconst couldMerge = !(token.fontStyle && (token.fontStyle & FontStyle.Underline || token.fontStyle & FontStyle.Strikethrough));\n\t\t\tif (couldMerge && token.content.match(/^\\s+$/) && line[idx + 1]) {\n\t\t\t\tif (firstOffset === void 0) firstOffset = token.offset;\n\t\t\t\tcarryOnContent += token.content;\n\t\t\t} else if (carryOnContent) {\n\t\t\t\tif (couldMerge) newLine.push({\n\t\t\t\t\t...token,\n\t\t\t\t\toffset: firstOffset,\n\t\t\t\t\tcontent: carryOnContent + token.content\n\t\t\t\t});\n\t\t\t\telse newLine.push({\n\t\t\t\t\tcontent: carryOnContent,\n\t\t\t\t\toffset: firstOffset\n\t\t\t\t}, token);\n\t\t\t\tfirstOffset = void 0;\n\t\t\t\tcarryOnContent = \"\";\n\t\t\t} else newLine.push(token);\n\t\t});\n\t\treturn newLine;\n\t});\n}\nfunction splitWhitespaceTokens(tokens) {\n\treturn tokens.map((line) => {\n\t\treturn line.flatMap((token) => {\n\t\t\tif (token.content.match(/^\\s+$/)) return token;\n\t\t\tconst match = token.content.match(/^(\\s*)(.*?)(\\s*)$/);\n\t\t\tif (!match) return token;\n\t\t\tconst [, leading, content, trailing] = match;\n\t\t\tif (!leading && !trailing) return token;\n\t\t\tconst expanded = [{\n\t\t\t\t...token,\n\t\t\t\toffset: token.offset + leading.length,\n\t\t\t\tcontent\n\t\t\t}];\n\t\t\tif (leading) expanded.unshift({\n\t\t\t\tcontent: leading,\n\t\t\t\toffset: token.offset\n\t\t\t});\n\t\t\tif (trailing) expanded.push({\n\t\t\t\tcontent: trailing,\n\t\t\t\toffset: token.offset + leading.length + content.length\n\t\t\t});\n\t\t\treturn expanded;\n\t\t});\n\t});\n}\nfunction mergeAdjacentStyledTokens(tokens) {\n\treturn tokens.map((line) => {\n\t\tconst newLine = [];\n\t\tfor (const token of line) {\n\t\t\tif (newLine.length === 0) {\n\t\t\t\tnewLine.push({ ...token });\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tconst prevToken = newLine[newLine.length - 1];\n\t\t\tconst prevStyle = stringifyTokenStyle(prevToken.htmlStyle || getTokenStyleObject(prevToken));\n\t\t\tconst currentStyle = stringifyTokenStyle(token.htmlStyle || getTokenStyleObject(token));\n\t\t\tconst isPrevDecorated = prevToken.fontStyle && (prevToken.fontStyle & FontStyle.Underline || prevToken.fontStyle & FontStyle.Strikethrough);\n\t\t\tconst isDecorated = token.fontStyle && (token.fontStyle & FontStyle.Underline || token.fontStyle & FontStyle.Strikethrough);\n\t\t\tif (!isPrevDecorated && !isDecorated && prevStyle === currentStyle) prevToken.content += token.content;\n\t\t\telse newLine.push({ ...token });\n\t\t}\n\t\treturn newLine;\n\t});\n}\n\n//#endregion\n//#region src/highlight/code-to-html.ts\nconst hastToHtml = toHtml;\n/**\n* Get highlighted code in HTML.\n*/\nfunction codeToHtml(primitive, code, options) {\n\tconst context = {\n\t\tmeta: {},\n\t\toptions,\n\t\tcodeToHast: (_code, _options) => codeToHast(primitive, _code, _options),\n\t\tcodeToTokens: (_code, _options) => codeToTokens(primitive, _code, _options)\n\t};\n\tlet result = hastToHtml(codeToHast(primitive, code, options, context));\n\tfor (const transformer of getTransformers(options)) result = transformer.postprocess?.call(context, result, options) || result;\n\treturn result;\n}\n\n//#endregion\n//#region src/constructors/highlighter.ts\n/**\n* Create a Shiki core highlighter instance, with no languages or themes bundled.\n* Wasm and each language and theme must be loaded manually.\n*\n* @see http://shiki.style/guide/bundles#fine-grained-bundle\n*/\nasync function createHighlighterCore(options) {\n\tconst primitive = await createShikiPrimitiveAsync$1(options);\n\treturn {\n\t\tgetLastGrammarState: (...args) => getLastGrammarState(primitive, ...args),\n\t\tcodeToTokensBase: (code, options) => codeToTokensBase(primitive, code, options),\n\t\tcodeToTokensWithThemes: (code, options) => codeToTokensWithThemes$1(primitive, code, options),\n\t\tcodeToTokens: (code, options) => codeToTokens(primitive, code, options),\n\t\tcodeToHast: (code, options) => codeToHast(primitive, code, options),\n\t\tcodeToHtml: (code, options) => codeToHtml(primitive, code, options),\n\t\tgetBundledLanguages: () => ({}),\n\t\tgetBundledThemes: () => ({}),\n\t\t...primitive,\n\t\tgetInternalContext: () => primitive\n\t};\n}\n/**\n* Create a Shiki core highlighter instance, with no languages or themes bundled.\n* Wasm and each language and theme must be loaded manually.\n*\n* Synchronous version of `createHighlighterCore`, which requires to provide the engine and all themes and languages upfront.\n*\n* @see http://shiki.style/guide/bundles#fine-grained-bundle\n*/\nfunction createHighlighterCoreSync(options) {\n\tconst internal = createShikiPrimitive$1(options);\n\treturn {\n\t\tgetLastGrammarState: (...args) => getLastGrammarState(internal, ...args),\n\t\tcodeToTokensBase: (code, options) => codeToTokensBase(internal, code, options),\n\t\tcodeToTokensWithThemes: (code, options) => codeToTokensWithThemes$1(internal, code, options),\n\t\tcodeToTokens: (code, options) => codeToTokens(internal, code, options),\n\t\tcodeToHast: (code, options) => codeToHast(internal, code, options),\n\t\tcodeToHtml: (code, options) => codeToHtml(internal, code, options),\n\t\tgetBundledLanguages: () => ({}),\n\t\tgetBundledThemes: () => ({}),\n\t\t...internal,\n\t\tgetInternalContext: () => internal\n\t};\n}\nfunction makeSingletonHighlighterCore(createHighlighter) {\n\tlet _shiki;\n\tasync function getSingletonHighlighterCore(options) {\n\t\tif (!_shiki) {\n\t\t\t_shiki = createHighlighter({\n\t\t\t\t...options,\n\t\t\t\tthemes: options.themes || [],\n\t\t\t\tlangs: options.langs || []\n\t\t\t});\n\t\t\treturn _shiki;\n\t\t} else {\n\t\t\tconst s = await _shiki;\n\t\t\tawait Promise.all([s.loadTheme(...options.themes || []), s.loadLanguage(...options.langs || [])]);\n\t\t\treturn s;\n\t\t}\n\t}\n\treturn getSingletonHighlighterCore;\n}\nconst getSingletonHighlighterCore = /* @__PURE__ */ makeSingletonHighlighterCore(createHighlighterCore);\n\n//#endregion\n//#region src/constructors/bundle-factory.ts\nfunction createBundledHighlighter(options) {\n\tconst bundledLanguages = options.langs;\n\tconst bundledThemes = options.themes;\n\tconst engine = options.engine;\n\tasync function createHighlighter(options) {\n\t\tfunction resolveLang(lang) {\n\t\t\tif (typeof lang === \"string\") {\n\t\t\t\tlang = options.langAlias?.[lang] || lang;\n\t\t\t\tif (isSpecialLang(lang)) return [];\n\t\t\t\tconst bundle = bundledLanguages[lang];\n\t\t\t\tif (!bundle) throw new ShikiError$1(`Language \\`${lang}\\` is not included in this bundle. You may want to load it from external source.`);\n\t\t\t\treturn bundle;\n\t\t\t}\n\t\t\treturn lang;\n\t\t}\n\t\tfunction resolveTheme(theme) {\n\t\t\tif (isSpecialTheme(theme)) return \"none\";\n\t\t\tif (typeof theme === \"string\") {\n\t\t\t\tconst bundle = bundledThemes[theme];\n\t\t\t\tif (!bundle) throw new ShikiError$1(`Theme \\`${theme}\\` is not included in this bundle. You may want to load it from external source.`);\n\t\t\t\treturn bundle;\n\t\t\t}\n\t\t\treturn theme;\n\t\t}\n\t\tconst _themes = (options.themes ?? []).map((i) => resolveTheme(i));\n\t\tconst langs = (options.langs ?? []).map((i) => resolveLang(i));\n\t\tconst core = await createHighlighterCore({\n\t\t\tengine: options.engine ?? engine(),\n\t\t\t...options,\n\t\t\tthemes: _themes,\n\t\t\tlangs\n\t\t});\n\t\treturn {\n\t\t\t...core,\n\t\t\tloadLanguage(...langs) {\n\t\t\t\treturn core.loadLanguage(...langs.map(resolveLang));\n\t\t\t},\n\t\t\tloadTheme(...themes) {\n\t\t\t\treturn core.loadTheme(...themes.map(resolveTheme));\n\t\t\t},\n\t\t\tgetBundledLanguages() {\n\t\t\t\treturn bundledLanguages;\n\t\t\t},\n\t\t\tgetBundledThemes() {\n\t\t\t\treturn bundledThemes;\n\t\t\t}\n\t\t};\n\t}\n\treturn createHighlighter;\n}\nfunction makeSingletonHighlighter(createHighlighter) {\n\tlet _shiki;\n\tasync function getSingletonHighlighter(options = {}) {\n\t\tif (!_shiki) {\n\t\t\t_shiki = createHighlighter({\n\t\t\t\t...options,\n\t\t\t\tthemes: [],\n\t\t\t\tlangs: []\n\t\t\t});\n\t\t\tconst s = await _shiki;\n\t\t\tawait Promise.all([s.loadTheme(...options.themes || []), s.loadLanguage(...options.langs || [])]);\n\t\t\treturn s;\n\t\t} else {\n\t\t\tconst s = await _shiki;\n\t\t\tawait Promise.all([s.loadTheme(...options.themes || []), s.loadLanguage(...options.langs || [])]);\n\t\t\treturn s;\n\t\t}\n\t}\n\treturn getSingletonHighlighter;\n}\nfunction createSingletonShorthands(createHighlighter, config) {\n\tconst getSingletonHighlighter = makeSingletonHighlighter(createHighlighter);\n\tasync function get(code, options) {\n\t\tconst shiki = await getSingletonHighlighter({\n\t\t\tlangs: [options.lang],\n\t\t\tthemes: \"theme\" in options ? [options.theme] : Object.values(options.themes)\n\t\t});\n\t\tconst langs = await config?.guessEmbeddedLanguages?.(code, options.lang, shiki);\n\t\tif (langs) await shiki.loadLanguage(...langs);\n\t\treturn shiki;\n\t}\n\treturn {\n\t\tgetSingletonHighlighter(options) {\n\t\t\treturn getSingletonHighlighter(options);\n\t\t},\n\t\tasync codeToHtml(code, options) {\n\t\t\treturn (await get(code, options)).codeToHtml(code, options);\n\t\t},\n\t\tasync codeToHast(code, options) {\n\t\t\treturn (await get(code, options)).codeToHast(code, options);\n\t\t},\n\t\tasync codeToTokens(code, options) {\n\t\t\treturn (await get(code, options)).codeToTokens(code, options);\n\t\t},\n\t\tasync codeToTokensBase(code, options) {\n\t\t\treturn (await get(code, options)).codeToTokensBase(code, options);\n\t\t},\n\t\tasync codeToTokensWithThemes(code, options) {\n\t\t\treturn (await get(code, options)).codeToTokensWithThemes(code, options);\n\t\t},\n\t\tasync getLastGrammarState(code, options) {\n\t\t\treturn (await getSingletonHighlighter({\n\t\t\t\tlangs: [options.lang],\n\t\t\t\tthemes: [options.theme]\n\t\t\t})).getLastGrammarState(code, options);\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/theme-css-variables.ts\n/**\n* A factory function to create a css-variable-based theme\n*\n* @see https://shiki.style/guide/theme-colors#css-variables-theme\n*/\nfunction createCssVariablesTheme(options = {}) {\n\tconst { name = \"css-variables\", variablePrefix = \"--shiki-\", fontStyle = true } = options;\n\tconst variable = (name) => {\n\t\tif (options.variableDefaults?.[name]) return `var(${variablePrefix}${name}, ${options.variableDefaults[name]})`;\n\t\treturn `var(${variablePrefix}${name})`;\n\t};\n\tconst theme = {\n\t\tname,\n\t\ttype: \"dark\",\n\t\tcolors: {\n\t\t\t\"editor.foreground\": variable(\"foreground\"),\n\t\t\t\"editor.background\": variable(\"background\"),\n\t\t\t\"terminal.ansiBlack\": variable(\"ansi-black\"),\n\t\t\t\"terminal.ansiRed\": variable(\"ansi-red\"),\n\t\t\t\"terminal.ansiGreen\": variable(\"ansi-green\"),\n\t\t\t\"terminal.ansiYellow\": variable(\"ansi-yellow\"),\n\t\t\t\"terminal.ansiBlue\": variable(\"ansi-blue\"),\n\t\t\t\"terminal.ansiMagenta\": variable(\"ansi-magenta\"),\n\t\t\t\"terminal.ansiCyan\": variable(\"ansi-cyan\"),\n\t\t\t\"terminal.ansiWhite\": variable(\"ansi-white\"),\n\t\t\t\"terminal.ansiBrightBlack\": variable(\"ansi-bright-black\"),\n\t\t\t\"terminal.ansiBrightRed\": variable(\"ansi-bright-red\"),\n\t\t\t\"terminal.ansiBrightGreen\": variable(\"ansi-bright-green\"),\n\t\t\t\"terminal.ansiBrightYellow\": variable(\"ansi-bright-yellow\"),\n\t\t\t\"terminal.ansiBrightBlue\": variable(\"ansi-bright-blue\"),\n\t\t\t\"terminal.ansiBrightMagenta\": variable(\"ansi-bright-magenta\"),\n\t\t\t\"terminal.ansiBrightCyan\": variable(\"ansi-bright-cyan\"),\n\t\t\t\"terminal.ansiBrightWhite\": variable(\"ansi-bright-white\")\n\t\t},\n\t\ttokenColors: [\n\t\t\t{\n\t\t\t\tscope: [\n\t\t\t\t\t\"keyword.operator.accessor\",\n\t\t\t\t\t\"meta.group.braces.round.function.arguments\",\n\t\t\t\t\t\"meta.template.expression\",\n\t\t\t\t\t\"markup.fenced_code meta.embedded.block\"\n\t\t\t\t],\n\t\t\t\tsettings: { foreground: variable(\"foreground\") }\n\t\t\t},\n\t\t\t{\n\t\t\t\tscope: \"emphasis\",\n\t\t\t\tsettings: { fontStyle: \"italic\" }\n\t\t\t},\n\t\t\t{\n\t\t\t\tscope: [\n\t\t\t\t\t\"strong\",\n\t\t\t\t\t\"markup.heading.markdown\",\n\t\t\t\t\t\"markup.bold.markdown\"\n\t\t\t\t],\n\t\t\t\tsettings: { fontStyle: \"bold\" }\n\t\t\t},\n\t\t\t{\n\t\t\t\tscope: [\"markup.italic.markdown\"],\n\t\t\t\tsettings: { fontStyle: \"italic\" }\n\t\t\t},\n\t\t\t{\n\t\t\t\tscope: \"meta.link.inline.markdown\",\n\t\t\t\tsettings: {\n\t\t\t\t\tfontStyle: \"underline\",\n\t\t\t\t\tforeground: variable(\"token-link\")\n\t\t\t\t}\n\t\t\t},\n\t\t\t{\n\t\t\t\tscope: [\n\t\t\t\t\t\"string\",\n\t\t\t\t\t\"markup.fenced_code\",\n\t\t\t\t\t\"markup.inline\"\n\t\t\t\t],\n\t\t\t\tsettings: { foreground: variable(\"token-string\") }\n\t\t\t},\n\t\t\t{\n\t\t\t\tscope: [\"comment\", \"string.quoted.docstring.multi\"],\n\t\t\t\tsettings: { foreground: variable(\"token-comment\") }\n\t\t\t},\n\t\t\t{\n\t\t\t\tscope: [\n\t\t\t\t\t\"constant.numeric\",\n\t\t\t\t\t\"constant.language\",\n\t\t\t\t\t\"constant.other.placeholder\",\n\t\t\t\t\t\"constant.character.format.placeholder\",\n\t\t\t\t\t\"variable.language.this\",\n\t\t\t\t\t\"variable.other.object\",\n\t\t\t\t\t\"variable.other.class\",\n\t\t\t\t\t\"variable.other.constant\",\n\t\t\t\t\t\"meta.property-name\",\n\t\t\t\t\t\"meta.property-value\",\n\t\t\t\t\t\"support\"\n\t\t\t\t],\n\t\t\t\tsettings: { foreground: variable(\"token-constant\") }\n\t\t\t},\n\t\t\t{\n\t\t\t\tscope: [\n\t\t\t\t\t\"keyword\",\n\t\t\t\t\t\"storage.modifier\",\n\t\t\t\t\t\"storage.type\",\n\t\t\t\t\t\"storage.control.clojure\",\n\t\t\t\t\t\"entity.name.function.clojure\",\n\t\t\t\t\t\"entity.name.tag.yaml\",\n\t\t\t\t\t\"support.function.node\",\n\t\t\t\t\t\"support.type.property-name.json\",\n\t\t\t\t\t\"punctuation.separator.key-value\",\n\t\t\t\t\t\"punctuation.definition.template-expression\"\n\t\t\t\t],\n\t\t\t\tsettings: { foreground: variable(\"token-keyword\") }\n\t\t\t},\n\t\t\t{\n\t\t\t\tscope: \"variable.parameter.function\",\n\t\t\t\tsettings: { foreground: variable(\"token-parameter\") }\n\t\t\t},\n\t\t\t{\n\t\t\t\tscope: [\n\t\t\t\t\t\"support.function\",\n\t\t\t\t\t\"entity.name.type\",\n\t\t\t\t\t\"entity.other.inherited-class\",\n\t\t\t\t\t\"meta.function-call\",\n\t\t\t\t\t\"meta.instance.constructor\",\n\t\t\t\t\t\"entity.other.attribute-name\",\n\t\t\t\t\t\"entity.name.function\",\n\t\t\t\t\t\"constant.keyword.clojure\"\n\t\t\t\t],\n\t\t\t\tsettings: { foreground: variable(\"token-function\") }\n\t\t\t},\n\t\t\t{\n\t\t\t\tscope: [\n\t\t\t\t\t\"entity.name.tag\",\n\t\t\t\t\t\"string.quoted\",\n\t\t\t\t\t\"string.regexp\",\n\t\t\t\t\t\"string.interpolated\",\n\t\t\t\t\t\"string.template\",\n\t\t\t\t\t\"string.unquoted.plain.out.yaml\",\n\t\t\t\t\t\"keyword.other.template\"\n\t\t\t\t],\n\t\t\t\tsettings: { foreground: variable(\"token-string-expression\") }\n\t\t\t},\n\t\t\t{\n\t\t\t\tscope: [\n\t\t\t\t\t\"punctuation.definition.arguments\",\n\t\t\t\t\t\"punctuation.definition.dict\",\n\t\t\t\t\t\"punctuation.separator\",\n\t\t\t\t\t\"meta.function-call.arguments\"\n\t\t\t\t],\n\t\t\t\tsettings: { foreground: variable(\"token-punctuation\") }\n\t\t\t},\n\t\t\t{\n\t\t\t\tscope: [\"markup.underline.link\", \"punctuation.definition.metadata.markdown\"],\n\t\t\t\tsettings: { foreground: variable(\"token-link\") }\n\t\t\t},\n\t\t\t{\n\t\t\t\tscope: [\"beginning.punctuation.definition.list.markdown\"],\n\t\t\t\tsettings: { foreground: variable(\"token-string\") }\n\t\t\t},\n\t\t\t{\n\t\t\t\tscope: [\n\t\t\t\t\t\"punctuation.definition.string.begin.markdown\",\n\t\t\t\t\t\"punctuation.definition.string.end.markdown\",\n\t\t\t\t\t\"string.other.link.title.markdown\",\n\t\t\t\t\t\"string.other.link.description.markdown\"\n\t\t\t\t],\n\t\t\t\tsettings: { foreground: variable(\"token-keyword\") }\n\t\t\t},\n\t\t\t{\n\t\t\t\tscope: [\n\t\t\t\t\t\"markup.inserted\",\n\t\t\t\t\t\"meta.diff.header.to-file\",\n\t\t\t\t\t\"punctuation.definition.inserted\"\n\t\t\t\t],\n\t\t\t\tsettings: { foreground: variable(\"token-inserted\") }\n\t\t\t},\n\t\t\t{\n\t\t\t\tscope: [\n\t\t\t\t\t\"markup.deleted\",\n\t\t\t\t\t\"meta.diff.header.from-file\",\n\t\t\t\t\t\"punctuation.definition.deleted\"\n\t\t\t\t],\n\t\t\t\tsettings: { foreground: variable(\"token-deleted\") }\n\t\t\t},\n\t\t\t{\n\t\t\t\tscope: [\"markup.changed\", \"punctuation.definition.changed\"],\n\t\t\t\tsettings: { foreground: variable(\"token-changed\") }\n\t\t\t}\n\t\t]\n\t};\n\tif (!fontStyle) theme.tokenColors = theme.tokenColors?.map((tokenColor) => {\n\t\tif (tokenColor.settings?.fontStyle) delete tokenColor.settings.fontStyle;\n\t\treturn tokenColor;\n\t});\n\treturn theme;\n}\n\n//#endregion\nexport { ShikiError, addClassToHast, applyColorReplacements, codeToHast, codeToHtml, codeToTokens, codeToTokensBase, codeToTokensWithThemes, createBundledHighlighter, createCssVariablesTheme, createHighlighterCore, createHighlighterCoreSync, createPositionConverter, createShikiInternal, createShikiInternalSync, createShikiPrimitive, createShikiPrimitiveAsync, createSingletonShorthands, flatTokenVariants, getLastGrammarState, getSingletonHighlighterCore, getTokenStyleObject, guessEmbeddedLanguages, hastToHtml, isNoneTheme, isPlainLang, isSpecialLang, isSpecialTheme, makeSingletonHighlighter, makeSingletonHighlighterCore, normalizeGetter, normalizeTheme, resolveColorReplacements, splitLines, splitToken, splitTokens, stringifyTokenStyle, toArray, tokenizeAnsiWithTheme, tokenizeWithTheme, tokensToHast, transformerDecorations };"],"x_google_ignoreList":[0],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["splitLines$1","ShikiError$1","codeToTokensWithThemes$1","createShikiPrimitiveAsync$1"],"sources":["../../../../../../../../node_modules/@shikijs/core/dist/index.mjs"],"sourcesContent":["import { ShikiError as ShikiError$1 } from \"@shikijs/types\";\nimport { ShikiError, applyColorReplacements, codeToTokensBase as codeToTokensBase$1, codeToTokensWithThemes, codeToTokensWithThemes as codeToTokensWithThemes$1, createShikiInternal, createShikiInternalSync, createShikiPrimitive, createShikiPrimitive as createShikiPrimitive$1, createShikiPrimitiveAsync, createShikiPrimitiveAsync as createShikiPrimitiveAsync$1, getLastGrammarState, getLastGrammarStateFromMap, isNoneTheme, isPlainLang, isSpecialLang, isSpecialTheme, normalizeGetter, normalizeTheme, resolveColorReplacements, setLastGrammarStateToMap, splitLines, splitLines as splitLines$1, toArray, tokenizeWithTheme } from \"@shikijs/primitive\";\nimport { FontStyle } from \"@shikijs/vscode-textmate\";\nimport { toHtml } from \"hast-util-to-html\";\nexport * from \"@shikijs/types\";\n//#region src/utils/hast.ts\nconst RE_WHITESPACE = /\\s+/g;\n/**\n* Utility to append class to a hast node\n*\n* If the `property.class` is a string, it will be splitted by space and converted to an array.\n*/\nfunction addClassToHast(node, className) {\n\tif (!className) return node;\n\tnode.properties ||= {};\n\tnode.properties.class ||= [];\n\tif (typeof node.properties.class === \"string\") node.properties.class = node.properties.class.split(RE_WHITESPACE);\n\tif (!Array.isArray(node.properties.class)) node.properties.class = [];\n\tconst targets = Array.isArray(className) ? className : className.split(RE_WHITESPACE);\n\tfor (const c of targets) if (c && !node.properties.class.includes(c)) node.properties.class.push(c);\n\treturn node;\n}\n//#endregion\n//#region src/utils/strings.ts\nconst RE_LANG_ATTR = /:?lang=[\"']([^\"']+)[\"']/g;\nconst RE_CODE_FENCE = /(?:```|~~~)([\\w-]+)/g;\nconst RE_LATEX_BEGIN = /\\\\begin\\{([\\w-]+)\\}/g;\nconst RE_SCRIPT_LANG = /<script\\s+(?:type|lang)=[\"']([^\"']+)[\"']/gi;\n/**\n* Creates a converter between index and position in a code block.\n*\n* Overflow/underflow are unchecked.\n*/\nfunction createPositionConverter(code) {\n\tconst lines = splitLines$1(code, true).map(([line]) => line);\n\tfunction indexToPos(index) {\n\t\tif (index === code.length) return {\n\t\t\tline: lines.length - 1,\n\t\t\tcharacter: lines.at(-1).length\n\t\t};\n\t\tlet character = index;\n\t\tlet line = 0;\n\t\tfor (const lineText of lines) {\n\t\t\tif (character < lineText.length) break;\n\t\t\tcharacter -= lineText.length;\n\t\t\tline++;\n\t\t}\n\t\treturn {\n\t\t\tline,\n\t\t\tcharacter\n\t\t};\n\t}\n\tfunction posToIndex(line, character) {\n\t\tlet index = 0;\n\t\tfor (let i = 0; i < line; i++) index += lines[i].length;\n\t\tindex += character;\n\t\treturn index;\n\t}\n\treturn {\n\t\tlines,\n\t\tindexToPos,\n\t\tposToIndex\n\t};\n}\n/**\n* Guess embedded languages from given code and highlighter.\n*\n* When highlighter is provided, only bundled languages will be included.\n*\n* @param code - The code string to analyze\n* @param _lang - The primary language of the code (currently unused)\n* @param highlighter - Optional highlighter instance to validate languages\n* @returns Array of detected language identifiers\n*\n* @example\n* ```ts\n* // Detects 'javascript' from Vue SFC\n* guessEmbeddedLanguages('<script lang=\"javascript\">')\n*\n* // Detects 'python' from markdown code block\n* guessEmbeddedLanguages('```python\\nprint(\"hi\")\\n```')\n* ```\n*/\nfunction guessEmbeddedLanguages(code, _lang, highlighter) {\n\tconst langs = /* @__PURE__ */ new Set();\n\tfor (const match of code.matchAll(RE_LANG_ATTR)) {\n\t\tconst lang = match[1].toLowerCase().trim();\n\t\tif (lang) langs.add(lang);\n\t}\n\tfor (const match of code.matchAll(RE_CODE_FENCE)) {\n\t\tconst lang = match[1].toLowerCase().trim();\n\t\tif (lang) langs.add(lang);\n\t}\n\tfor (const match of code.matchAll(RE_LATEX_BEGIN)) {\n\t\tconst lang = match[1].toLowerCase().trim();\n\t\tif (lang) langs.add(lang);\n\t}\n\tfor (const match of code.matchAll(RE_SCRIPT_LANG)) {\n\t\tconst fullType = match[1].toLowerCase().trim();\n\t\tconst lang = fullType.includes(\"/\") ? fullType.split(\"/\").pop() : fullType;\n\t\tif (lang) langs.add(lang);\n\t}\n\tif (!highlighter) return [...langs];\n\tconst bundle = highlighter.getBundledLanguages();\n\treturn [...langs].filter((l) => l && bundle[l]);\n}\nconst COLOR_KEYS = [\"color\", \"background-color\"];\n//#endregion\n//#region src/utils/tokens.ts\n/**\n* Split a token into multiple tokens by given offsets.\n*\n* The offsets are relative to the token, and should be sorted.\n*/\nfunction splitToken(token, offsets) {\n\tlet lastOffset = 0;\n\tconst tokens = [];\n\tfor (const offset of offsets) {\n\t\tif (offset > lastOffset) tokens.push({\n\t\t\t...token,\n\t\t\tcontent: token.content.slice(lastOffset, offset),\n\t\t\toffset: token.offset + lastOffset\n\t\t});\n\t\tlastOffset = offset;\n\t}\n\tif (lastOffset < token.content.length) tokens.push({\n\t\t...token,\n\t\tcontent: token.content.slice(lastOffset),\n\t\toffset: token.offset + lastOffset\n\t});\n\treturn tokens;\n}\n/**\n* Split 2D tokens array by given breakpoints.\n*/\nfunction splitTokens(tokens, breakpoints) {\n\tconst sorted = [...breakpoints instanceof Set ? breakpoints : new Set(breakpoints)].sort((a, b) => a - b);\n\tif (!sorted.length) return tokens;\n\treturn tokens.map((line) => {\n\t\treturn line.flatMap((token) => {\n\t\t\tconst breakpointsInToken = sorted.filter((i) => token.offset < i && i < token.offset + token.content.length).map((i) => i - token.offset).sort((a, b) => a - b);\n\t\t\tif (!breakpointsInToken.length) return token;\n\t\t\treturn splitToken(token, breakpointsInToken);\n\t\t});\n\t});\n}\nfunction flatTokenVariants(merged, variantsOrder, cssVariablePrefix, defaultColor, colorsRendering = \"css-vars\") {\n\tconst token = {\n\t\tcontent: merged.content,\n\t\texplanation: merged.explanation,\n\t\toffset: merged.offset\n\t};\n\tconst styles = variantsOrder.map((t) => getTokenStyleObject(merged.variants[t]));\n\tconst styleKeys = new Set(styles.flatMap((t) => Object.keys(t)));\n\tconst mergedStyles = {};\n\tconst varKey = (idx, key) => {\n\t\tconst keyName = key === \"color\" ? \"\" : key === \"background-color\" ? \"-bg\" : `-${key}`;\n\t\treturn cssVariablePrefix + variantsOrder[idx] + (key === \"color\" ? \"\" : keyName);\n\t};\n\tstyles.forEach((cur, idx) => {\n\t\tfor (const key of styleKeys) {\n\t\t\tconst value = cur[key] || \"inherit\";\n\t\t\tif (idx === 0 && defaultColor && COLOR_KEYS.includes(key)) if (defaultColor === \"light-dark()\" && styles.length > 1) {\n\t\t\t\tconst lightIndex = variantsOrder.findIndex((t) => t === \"light\");\n\t\t\t\tconst darkIndex = variantsOrder.findIndex((t) => t === \"dark\");\n\t\t\t\tif (lightIndex === -1 || darkIndex === -1) throw new ShikiError$1(\"When using `defaultColor: \\\"light-dark()\\\"`, you must provide both `light` and `dark` themes\");\n\t\t\t\tmergedStyles[key] = `light-dark(${styles[lightIndex][key] || \"inherit\"}, ${styles[darkIndex][key] || \"inherit\"})`;\n\t\t\t\tif (colorsRendering === \"css-vars\") mergedStyles[varKey(idx, key)] = value;\n\t\t\t} else mergedStyles[key] = value;\n\t\t\telse if (colorsRendering === \"css-vars\") mergedStyles[varKey(idx, key)] = value;\n\t\t}\n\t});\n\ttoken.htmlStyle = mergedStyles;\n\treturn token;\n}\nfunction getTokenStyleObject(token) {\n\tconst styles = {};\n\tif (token.color) styles.color = token.color;\n\tif (token.bgColor) styles[\"background-color\"] = token.bgColor;\n\tif (token.fontStyle) {\n\t\tif (token.fontStyle & FontStyle.Italic) styles[\"font-style\"] = \"italic\";\n\t\tif (token.fontStyle & FontStyle.Bold) styles[\"font-weight\"] = \"bold\";\n\t\tconst decorations = [];\n\t\tif (token.fontStyle & FontStyle.Underline) decorations.push(\"underline\");\n\t\tif (token.fontStyle & FontStyle.Strikethrough) decorations.push(\"line-through\");\n\t\tif (decorations.length) styles[\"text-decoration\"] = decorations.join(\" \");\n\t}\n\treturn styles;\n}\nfunction stringifyTokenStyle(token) {\n\tif (typeof token === \"string\") return token;\n\treturn Object.entries(token).map(([key, value]) => `${key}:${value}`).join(\";\");\n}\n//#endregion\n//#region src/transformer-decorations.ts\n/**\n* A built-in transformer to add decorations to the highlighted code.\n*/\nfunction transformerDecorations() {\n\tconst map = /* @__PURE__ */ new WeakMap();\n\tfunction getContext(shiki) {\n\t\tif (!map.has(shiki.meta)) {\n\t\t\tconst converter = createPositionConverter(shiki.source);\n\t\t\tfunction normalizePosition(p) {\n\t\t\t\tif (typeof p === \"number\") {\n\t\t\t\t\tif (p < 0 || p > shiki.source.length) throw new ShikiError$1(`Invalid decoration offset: ${p}. Code length: ${shiki.source.length}`);\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...converter.indexToPos(p),\n\t\t\t\t\t\toffset: p\n\t\t\t\t\t};\n\t\t\t\t} else {\n\t\t\t\t\tconst line = converter.lines[p.line];\n\t\t\t\t\tif (line === void 0) throw new ShikiError$1(`Invalid decoration position ${JSON.stringify(p)}. Lines length: ${converter.lines.length}`);\n\t\t\t\t\tlet character = p.character;\n\t\t\t\t\tif (character < 0) character = line.length + character;\n\t\t\t\t\tif (character < 0 || character > line.length) throw new ShikiError$1(`Invalid decoration position ${JSON.stringify(p)}. Line ${p.line} length: ${line.length}`);\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...p,\n\t\t\t\t\t\tcharacter,\n\t\t\t\t\t\toffset: converter.posToIndex(p.line, character)\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t}\n\t\t\tconst decorations = (shiki.options.decorations || []).map((d) => ({\n\t\t\t\t...d,\n\t\t\t\tstart: normalizePosition(d.start),\n\t\t\t\tend: normalizePosition(d.end)\n\t\t\t}));\n\t\t\tverifyIntersections(decorations);\n\t\t\tmap.set(shiki.meta, {\n\t\t\t\tdecorations,\n\t\t\t\tconverter,\n\t\t\t\tsource: shiki.source\n\t\t\t});\n\t\t}\n\t\treturn map.get(shiki.meta);\n\t}\n\treturn {\n\t\tname: \"shiki:decorations\",\n\t\ttokens(tokens) {\n\t\t\tif (!this.options.decorations?.length) return;\n\t\t\treturn splitTokens(tokens, getContext(this).decorations.flatMap((d) => [d.start.offset, d.end.offset]));\n\t\t},\n\t\tcode(codeEl) {\n\t\t\tif (!this.options.decorations?.length) return;\n\t\t\tconst ctx = getContext(this);\n\t\t\tconst lines = [...codeEl.children].filter((i) => i.type === \"element\" && i.tagName === \"span\");\n\t\t\tif (lines.length !== ctx.converter.lines.length) throw new ShikiError$1(`Number of lines in code element (${lines.length}) does not match the number of lines in the source (${ctx.converter.lines.length}). Failed to apply decorations.`);\n\t\t\tfunction applyLineSection(line, start, end, decoration) {\n\t\t\t\tconst lineEl = lines[line];\n\t\t\t\tlet text = \"\";\n\t\t\t\tlet startIndex = -1;\n\t\t\t\tlet endIndex = -1;\n\t\t\t\tif (start === 0) startIndex = 0;\n\t\t\t\tif (end === 0) endIndex = 0;\n\t\t\t\tif (end === Number.POSITIVE_INFINITY) endIndex = lineEl.children.length;\n\t\t\t\tif (startIndex === -1 || endIndex === -1) for (let i = 0; i < lineEl.children.length; i++) {\n\t\t\t\t\ttext += stringify(lineEl.children[i]);\n\t\t\t\t\tif (startIndex === -1 && text.length === start) startIndex = i + 1;\n\t\t\t\t\tif (endIndex === -1 && text.length === end) endIndex = i + 1;\n\t\t\t\t}\n\t\t\t\tif (startIndex === -1) throw new ShikiError$1(`Failed to find start index for decoration ${JSON.stringify(decoration.start)}`);\n\t\t\t\tif (endIndex === -1) throw new ShikiError$1(`Failed to find end index for decoration ${JSON.stringify(decoration.end)}`);\n\t\t\t\tconst children = lineEl.children.slice(startIndex, endIndex);\n\t\t\t\tif (!decoration.alwaysWrap && children.length === lineEl.children.length) applyDecoration(lineEl, decoration, \"line\");\n\t\t\t\telse if (!decoration.alwaysWrap && children.length === 1 && children[0].type === \"element\") applyDecoration(children[0], decoration, \"token\");\n\t\t\t\telse {\n\t\t\t\t\tconst wrapper = {\n\t\t\t\t\t\ttype: \"element\",\n\t\t\t\t\t\ttagName: \"span\",\n\t\t\t\t\t\tproperties: {},\n\t\t\t\t\t\tchildren\n\t\t\t\t\t};\n\t\t\t\t\tapplyDecoration(wrapper, decoration, \"wrapper\");\n\t\t\t\t\tlineEl.children.splice(startIndex, children.length, wrapper);\n\t\t\t\t}\n\t\t\t}\n\t\t\tfunction applyLine(line, decoration) {\n\t\t\t\tlines[line] = applyDecoration(lines[line], decoration, \"line\");\n\t\t\t}\n\t\t\tfunction applyDecoration(el, decoration, type) {\n\t\t\t\tconst properties = decoration.properties || {};\n\t\t\t\tconst transform = decoration.transform || ((i) => i);\n\t\t\t\tel.tagName = decoration.tagName || \"span\";\n\t\t\t\tel.properties = {\n\t\t\t\t\t...el.properties,\n\t\t\t\t\t...properties,\n\t\t\t\t\tclass: el.properties.class\n\t\t\t\t};\n\t\t\t\tif (decoration.properties?.class) addClassToHast(el, decoration.properties.class);\n\t\t\t\tel = transform(el, type) || el;\n\t\t\t\treturn el;\n\t\t\t}\n\t\t\tconst lineApplies = [];\n\t\t\tconst sorted = ctx.decorations.sort((a, b) => b.start.offset - a.start.offset || a.end.offset - b.end.offset);\n\t\t\tfor (const decoration of sorted) {\n\t\t\t\tconst { start, end } = decoration;\n\t\t\t\tif (start.line === end.line) applyLineSection(start.line, start.character, end.character, decoration);\n\t\t\t\telse if (start.line < end.line) {\n\t\t\t\t\tapplyLineSection(start.line, start.character, Number.POSITIVE_INFINITY, decoration);\n\t\t\t\t\tfor (let i = start.line + 1; i < end.line; i++) lineApplies.unshift(() => applyLine(i, decoration));\n\t\t\t\t\tapplyLineSection(end.line, 0, end.character, decoration);\n\t\t\t\t}\n\t\t\t}\n\t\t\tlineApplies.forEach((i) => i());\n\t\t}\n\t};\n}\nfunction verifyIntersections(items) {\n\tfor (let i = 0; i < items.length; i++) {\n\t\tconst foo = items[i];\n\t\tif (foo.start.offset > foo.end.offset) throw new ShikiError$1(`Invalid decoration range: ${JSON.stringify(foo.start)} - ${JSON.stringify(foo.end)}`);\n\t\tfor (let j = i + 1; j < items.length; j++) {\n\t\t\tconst bar = items[j];\n\t\t\tconst isFooHasBarStart = foo.start.offset <= bar.start.offset && bar.start.offset < foo.end.offset;\n\t\t\tconst isFooHasBarEnd = foo.start.offset < bar.end.offset && bar.end.offset <= foo.end.offset;\n\t\t\tconst isBarHasFooStart = bar.start.offset <= foo.start.offset && foo.start.offset < bar.end.offset;\n\t\t\tconst isBarHasFooEnd = bar.start.offset < foo.end.offset && foo.end.offset <= bar.end.offset;\n\t\t\tif (isFooHasBarStart || isFooHasBarEnd || isBarHasFooStart || isBarHasFooEnd) {\n\t\t\t\tif (isFooHasBarStart && isFooHasBarEnd) continue;\n\t\t\t\tif (isBarHasFooStart && isBarHasFooEnd) continue;\n\t\t\t\tif (isBarHasFooStart && foo.start.offset === foo.end.offset) continue;\n\t\t\t\tif (isFooHasBarEnd && bar.start.offset === bar.end.offset) continue;\n\t\t\t\tthrow new ShikiError$1(`Decorations ${JSON.stringify(foo.start)} and ${JSON.stringify(bar.start)} intersect.`);\n\t\t\t}\n\t\t}\n\t}\n}\nfunction stringify(el) {\n\tif (el.type === \"text\") return el.value;\n\tif (el.type === \"element\") return el.children.map(stringify).join(\"\");\n\treturn \"\";\n}\n//#endregion\n//#region src/highlight/_get-transformers.ts\nconst builtInTransformers = [/* @__PURE__ */ transformerDecorations()];\nfunction getTransformers(options) {\n\tconst transformers = sortTransformersByEnforcement(options.transformers || []);\n\treturn [\n\t\t...transformers.pre,\n\t\t...transformers.normal,\n\t\t...transformers.post,\n\t\t...builtInTransformers\n\t];\n}\nfunction sortTransformersByEnforcement(transformers) {\n\tconst pre = [];\n\tconst post = [];\n\tconst normal = [];\n\tfor (const transformer of transformers) switch (transformer.enforce) {\n\t\tcase \"pre\":\n\t\t\tpre.push(transformer);\n\t\t\tbreak;\n\t\tcase \"post\":\n\t\t\tpost.push(transformer);\n\t\t\tbreak;\n\t\tdefault: normal.push(transformer);\n\t}\n\treturn {\n\t\tpre,\n\t\tpost,\n\t\tnormal\n\t};\n}\n//#endregion\n//#region ../../node_modules/.pnpm/ansi-sequence-parser@1.1.3/node_modules/ansi-sequence-parser/dist/index.js\nvar namedColors = [\n\t\"black\",\n\t\"red\",\n\t\"green\",\n\t\"yellow\",\n\t\"blue\",\n\t\"magenta\",\n\t\"cyan\",\n\t\"white\",\n\t\"brightBlack\",\n\t\"brightRed\",\n\t\"brightGreen\",\n\t\"brightYellow\",\n\t\"brightBlue\",\n\t\"brightMagenta\",\n\t\"brightCyan\",\n\t\"brightWhite\"\n];\nvar decorations = {\n\t1: \"bold\",\n\t2: \"dim\",\n\t3: \"italic\",\n\t4: \"underline\",\n\t7: \"reverse\",\n\t8: \"hidden\",\n\t9: \"strikethrough\"\n};\nfunction findSequence(value, position) {\n\tconst nextEscape = value.indexOf(\"\\x1B\", position);\n\tif (nextEscape !== -1) {\n\t\tif (value[nextEscape + 1] === \"[\") {\n\t\t\tconst nextClose = value.indexOf(\"m\", nextEscape);\n\t\t\tif (nextClose !== -1) return {\n\t\t\t\tsequence: value.substring(nextEscape + 2, nextClose).split(\";\"),\n\t\t\t\tstartPosition: nextEscape,\n\t\t\t\tposition: nextClose + 1\n\t\t\t};\n\t\t}\n\t}\n\treturn { position: value.length };\n}\nfunction parseColor(sequence) {\n\tconst colorMode = sequence.shift();\n\tif (colorMode === \"2\") {\n\t\tconst rgb = sequence.splice(0, 3).map((x) => Number.parseInt(x));\n\t\tif (rgb.length !== 3 || rgb.some((x) => Number.isNaN(x))) return;\n\t\treturn {\n\t\t\ttype: \"rgb\",\n\t\t\trgb\n\t\t};\n\t} else if (colorMode === \"5\") {\n\t\tconst index = sequence.shift();\n\t\tif (index) return {\n\t\t\ttype: \"table\",\n\t\t\tindex: Number(index)\n\t\t};\n\t}\n}\nfunction parseSequence(sequence) {\n\tconst commands = [];\n\twhile (sequence.length > 0) {\n\t\tconst code = sequence.shift();\n\t\tif (!code) continue;\n\t\tconst codeInt = Number.parseInt(code);\n\t\tif (Number.isNaN(codeInt)) continue;\n\t\tif (codeInt === 0) commands.push({ type: \"resetAll\" });\n\t\telse if (codeInt <= 9) {\n\t\t\tif (decorations[codeInt]) commands.push({\n\t\t\t\ttype: \"setDecoration\",\n\t\t\t\tvalue: decorations[codeInt]\n\t\t\t});\n\t\t} else if (codeInt <= 29) {\n\t\t\tconst decoration = decorations[codeInt - 20];\n\t\t\tif (decoration) {\n\t\t\t\tcommands.push({\n\t\t\t\t\ttype: \"resetDecoration\",\n\t\t\t\t\tvalue: decoration\n\t\t\t\t});\n\t\t\t\tif (decoration === \"dim\") commands.push({\n\t\t\t\t\ttype: \"resetDecoration\",\n\t\t\t\t\tvalue: \"bold\"\n\t\t\t\t});\n\t\t\t}\n\t\t} else if (codeInt <= 37) commands.push({\n\t\t\ttype: \"setForegroundColor\",\n\t\t\tvalue: {\n\t\t\t\ttype: \"named\",\n\t\t\t\tname: namedColors[codeInt - 30]\n\t\t\t}\n\t\t});\n\t\telse if (codeInt === 38) {\n\t\t\tconst color = parseColor(sequence);\n\t\t\tif (color) commands.push({\n\t\t\t\ttype: \"setForegroundColor\",\n\t\t\t\tvalue: color\n\t\t\t});\n\t\t} else if (codeInt === 39) commands.push({ type: \"resetForegroundColor\" });\n\t\telse if (codeInt <= 47) commands.push({\n\t\t\ttype: \"setBackgroundColor\",\n\t\t\tvalue: {\n\t\t\t\ttype: \"named\",\n\t\t\t\tname: namedColors[codeInt - 40]\n\t\t\t}\n\t\t});\n\t\telse if (codeInt === 48) {\n\t\t\tconst color = parseColor(sequence);\n\t\t\tif (color) commands.push({\n\t\t\t\ttype: \"setBackgroundColor\",\n\t\t\t\tvalue: color\n\t\t\t});\n\t\t} else if (codeInt === 49) commands.push({ type: \"resetBackgroundColor\" });\n\t\telse if (codeInt === 53) commands.push({\n\t\t\ttype: \"setDecoration\",\n\t\t\tvalue: \"overline\"\n\t\t});\n\t\telse if (codeInt === 55) commands.push({\n\t\t\ttype: \"resetDecoration\",\n\t\t\tvalue: \"overline\"\n\t\t});\n\t\telse if (codeInt >= 90 && codeInt <= 97) commands.push({\n\t\t\ttype: \"setForegroundColor\",\n\t\t\tvalue: {\n\t\t\t\ttype: \"named\",\n\t\t\t\tname: namedColors[codeInt - 90 + 8]\n\t\t\t}\n\t\t});\n\t\telse if (codeInt >= 100 && codeInt <= 107) commands.push({\n\t\t\ttype: \"setBackgroundColor\",\n\t\t\tvalue: {\n\t\t\t\ttype: \"named\",\n\t\t\t\tname: namedColors[codeInt - 100 + 8]\n\t\t\t}\n\t\t});\n\t}\n\treturn commands;\n}\nfunction createAnsiSequenceParser() {\n\tlet foreground = null;\n\tlet background = null;\n\tlet decorations2 = /* @__PURE__ */ new Set();\n\treturn { parse(value) {\n\t\tconst tokens = [];\n\t\tlet position = 0;\n\t\tdo {\n\t\t\tconst findResult = findSequence(value, position);\n\t\t\tconst text = findResult.sequence ? value.substring(position, findResult.startPosition) : value.substring(position);\n\t\t\tif (text.length > 0) tokens.push({\n\t\t\t\tvalue: text,\n\t\t\t\tforeground,\n\t\t\t\tbackground,\n\t\t\t\tdecorations: new Set(decorations2)\n\t\t\t});\n\t\t\tif (findResult.sequence) {\n\t\t\t\tconst commands = parseSequence(findResult.sequence);\n\t\t\t\tfor (const styleToken of commands) if (styleToken.type === \"resetAll\") {\n\t\t\t\t\tforeground = null;\n\t\t\t\t\tbackground = null;\n\t\t\t\t\tdecorations2.clear();\n\t\t\t\t} else if (styleToken.type === \"resetForegroundColor\") foreground = null;\n\t\t\t\telse if (styleToken.type === \"resetBackgroundColor\") background = null;\n\t\t\t\telse if (styleToken.type === \"resetDecoration\") decorations2.delete(styleToken.value);\n\t\t\t\tfor (const styleToken of commands) if (styleToken.type === \"setForegroundColor\") foreground = styleToken.value;\n\t\t\t\telse if (styleToken.type === \"setBackgroundColor\") background = styleToken.value;\n\t\t\t\telse if (styleToken.type === \"setDecoration\") decorations2.add(styleToken.value);\n\t\t\t}\n\t\t\tposition = findResult.position;\n\t\t} while (position < value.length);\n\t\treturn tokens;\n\t} };\n}\nvar defaultNamedColorsMap = {\n\tblack: \"#000000\",\n\tred: \"#bb0000\",\n\tgreen: \"#00bb00\",\n\tyellow: \"#bbbb00\",\n\tblue: \"#0000bb\",\n\tmagenta: \"#ff00ff\",\n\tcyan: \"#00bbbb\",\n\twhite: \"#eeeeee\",\n\tbrightBlack: \"#555555\",\n\tbrightRed: \"#ff5555\",\n\tbrightGreen: \"#00ff00\",\n\tbrightYellow: \"#ffff55\",\n\tbrightBlue: \"#5555ff\",\n\tbrightMagenta: \"#ff55ff\",\n\tbrightCyan: \"#55ffff\",\n\tbrightWhite: \"#ffffff\"\n};\nfunction createColorPalette(namedColorsMap = defaultNamedColorsMap) {\n\tfunction namedColor(name) {\n\t\treturn namedColorsMap[name];\n\t}\n\tfunction rgbColor(rgb) {\n\t\treturn `#${rgb.map((x) => Math.max(0, Math.min(x, 255)).toString(16).padStart(2, \"0\")).join(\"\")}`;\n\t}\n\tlet colorTable;\n\tfunction getColorTable() {\n\t\tif (colorTable) return colorTable;\n\t\tcolorTable = [];\n\t\tfor (let i = 0; i < namedColors.length; i++) colorTable.push(namedColor(namedColors[i]));\n\t\tlet levels = [\n\t\t\t0,\n\t\t\t95,\n\t\t\t135,\n\t\t\t175,\n\t\t\t215,\n\t\t\t255\n\t\t];\n\t\tfor (let r = 0; r < 6; r++) for (let g = 0; g < 6; g++) for (let b = 0; b < 6; b++) colorTable.push(rgbColor([\n\t\t\tlevels[r],\n\t\t\tlevels[g],\n\t\t\tlevels[b]\n\t\t]));\n\t\tlet level = 8;\n\t\tfor (let i = 0; i < 24; i++, level += 10) colorTable.push(rgbColor([\n\t\t\tlevel,\n\t\t\tlevel,\n\t\t\tlevel\n\t\t]));\n\t\treturn colorTable;\n\t}\n\tfunction tableColor(index) {\n\t\treturn getColorTable()[index];\n\t}\n\tfunction value(color) {\n\t\tswitch (color.type) {\n\t\t\tcase \"named\": return namedColor(color.name);\n\t\t\tcase \"rgb\": return rgbColor(color.rgb);\n\t\t\tcase \"table\": return tableColor(color.index);\n\t\t}\n\t}\n\treturn { value };\n}\n//#endregion\n//#region src/highlight/code-to-tokens-ansi.ts\nconst RE_HEX_COLOR = /#([0-9a-f]{3,8})/i;\nconst RE_CSS_VAR_ANSI = /var\\((--[\\w-]+-ansi-[\\w-]+)\\)/;\n/**\n* Default ANSI palette (VSCode compatible fallbacks)\n* Used when the theme does not define terminal.ansi* colors.\n*/\nconst defaultAnsiColors = {\n\tblack: \"#000000\",\n\tred: \"#cd3131\",\n\tgreen: \"#0DBC79\",\n\tyellow: \"#E5E510\",\n\tblue: \"#2472C8\",\n\tmagenta: \"#BC3FBC\",\n\tcyan: \"#11A8CD\",\n\twhite: \"#E5E5E5\",\n\tbrightBlack: \"#666666\",\n\tbrightRed: \"#F14C4C\",\n\tbrightGreen: \"#23D18B\",\n\tbrightYellow: \"#F5F543\",\n\tbrightBlue: \"#3B8EEA\",\n\tbrightMagenta: \"#D670D6\",\n\tbrightCyan: \"#29B8DB\",\n\tbrightWhite: \"#FFFFFF\"\n};\nfunction tokenizeAnsiWithTheme(theme, fileContents, options) {\n\tconst colorReplacements = resolveColorReplacements(theme, options);\n\tconst lines = splitLines(fileContents);\n\tconst colorPalette = createColorPalette(Object.fromEntries(namedColors.map((name) => {\n\t\tconst key = `terminal.ansi${name[0].toUpperCase()}${name.substring(1)}`;\n\t\treturn [name, theme.colors?.[key] || defaultAnsiColors[name]];\n\t})));\n\tconst parser = createAnsiSequenceParser();\n\treturn lines.map((line) => parser.parse(line[0]).map((token) => {\n\t\tlet color;\n\t\tlet bgColor;\n\t\tif (token.decorations.has(\"reverse\")) {\n\t\t\tcolor = token.background ? colorPalette.value(token.background) : theme.bg;\n\t\t\tbgColor = token.foreground ? colorPalette.value(token.foreground) : theme.fg;\n\t\t} else {\n\t\t\tcolor = token.foreground ? colorPalette.value(token.foreground) : theme.fg;\n\t\t\tbgColor = token.background ? colorPalette.value(token.background) : void 0;\n\t\t}\n\t\tcolor = applyColorReplacements(color, colorReplacements);\n\t\tbgColor = applyColorReplacements(bgColor, colorReplacements);\n\t\tif (token.decorations.has(\"dim\")) color = dimColor(color);\n\t\tlet fontStyle = FontStyle.None;\n\t\tif (token.decorations.has(\"bold\")) fontStyle |= FontStyle.Bold;\n\t\tif (token.decorations.has(\"italic\")) fontStyle |= FontStyle.Italic;\n\t\tif (token.decorations.has(\"underline\")) fontStyle |= FontStyle.Underline;\n\t\tif (token.decorations.has(\"strikethrough\")) fontStyle |= FontStyle.Strikethrough;\n\t\treturn {\n\t\t\tcontent: token.value,\n\t\t\toffset: line[1],\n\t\t\tcolor,\n\t\t\tbgColor,\n\t\t\tfontStyle\n\t\t};\n\t}));\n}\n/**\n* Adds 50% alpha to a hex color string or the \"-dim\" postfix to a CSS variable\n*/\nfunction dimColor(color) {\n\tconst hexMatch = color.match(RE_HEX_COLOR);\n\tif (hexMatch) {\n\t\tconst hex = hexMatch[1];\n\t\tif (hex.length === 8) {\n\t\t\tconst alpha = Math.round(Number.parseInt(hex.slice(6, 8), 16) / 2).toString(16).padStart(2, \"0\");\n\t\t\treturn `#${hex.slice(0, 6)}${alpha}`;\n\t\t} else if (hex.length === 6) return `#${hex}80`;\n\t\telse if (hex.length === 4) {\n\t\t\tconst r = hex[0];\n\t\t\tconst g = hex[1];\n\t\t\tconst b = hex[2];\n\t\t\tconst a = hex[3];\n\t\t\treturn `#${r}${r}${g}${g}${b}${b}${Math.round(Number.parseInt(`${a}${a}`, 16) / 2).toString(16).padStart(2, \"0\")}`;\n\t\t} else if (hex.length === 3) {\n\t\t\tconst r = hex[0];\n\t\t\tconst g = hex[1];\n\t\t\tconst b = hex[2];\n\t\t\treturn `#${r}${r}${g}${g}${b}${b}80`;\n\t\t}\n\t}\n\tconst cssVarMatch = color.match(RE_CSS_VAR_ANSI);\n\tif (cssVarMatch) return `var(${cssVarMatch[1]}-dim)`;\n\treturn color;\n}\n//#endregion\n//#region src/highlight/code-to-tokens-base.ts\n/**\n* Code to tokens, with a simple theme.\n* This wraps the tokenizer's implementation to add ANSI support.\n*/\nfunction codeToTokensBase(primitive, code, options = {}) {\n\tconst lang = primitive.resolveLangAlias(options.lang || \"text\");\n\tconst { theme: themeName = primitive.getLoadedThemes()[0] } = options;\n\tif (!isPlainLang(lang) && !isNoneTheme(themeName) && lang === \"ansi\") {\n\t\tconst { theme } = primitive.setTheme(themeName);\n\t\treturn tokenizeAnsiWithTheme(theme, code, options);\n\t}\n\treturn codeToTokensBase$1(primitive, code, options);\n}\n//#endregion\n//#region src/highlight/code-to-tokens.ts\n/**\n* High-level code-to-tokens API.\n*\n* It will use `codeToTokensWithThemes` or `codeToTokensBase` based on the options.\n*/\nfunction codeToTokens(primitive, code, options) {\n\tlet bg;\n\tlet fg;\n\tlet tokens;\n\tlet themeName;\n\tlet rootStyle;\n\tlet grammarState;\n\tif (\"themes\" in options) {\n\t\tconst { defaultColor = \"light\", cssVariablePrefix = \"--shiki-\", colorsRendering = \"css-vars\" } = options;\n\t\tconst themes = Object.entries(options.themes).filter((i) => i[1]).map((i) => ({\n\t\t\tcolor: i[0],\n\t\t\ttheme: i[1]\n\t\t})).sort((a, b) => a.color === defaultColor ? -1 : b.color === defaultColor ? 1 : 0);\n\t\tif (themes.length === 0) throw new ShikiError$1(\"`themes` option must not be empty\");\n\t\tconst themeTokens = codeToTokensWithThemes$1(primitive, code, options, codeToTokensBase);\n\t\tgrammarState = getLastGrammarStateFromMap(themeTokens);\n\t\tif (defaultColor && \"light-dark()\" !== defaultColor && !themes.some((t) => t.color === defaultColor)) throw new ShikiError$1(`\\`themes\\` option must contain the defaultColor key \\`${defaultColor}\\``);\n\t\tconst themeRegs = themes.map((t) => primitive.getTheme(t.theme));\n\t\tconst themesOrder = themes.map((t) => t.color);\n\t\ttokens = themeTokens.map((line) => line.map((token) => flatTokenVariants(token, themesOrder, cssVariablePrefix, defaultColor, colorsRendering)));\n\t\tif (grammarState) setLastGrammarStateToMap(tokens, grammarState);\n\t\tconst themeColorReplacements = themes.map((t) => resolveColorReplacements(t.theme, options));\n\t\tfg = mapThemeColors(themes, themeRegs, themeColorReplacements, cssVariablePrefix, defaultColor, \"fg\", colorsRendering);\n\t\tbg = mapThemeColors(themes, themeRegs, themeColorReplacements, cssVariablePrefix, defaultColor, \"bg\", colorsRendering);\n\t\tthemeName = `shiki-themes ${themeRegs.map((t) => t.name).join(\" \")}`;\n\t\trootStyle = defaultColor ? void 0 : [fg, bg].join(\";\");\n\t} else if (\"theme\" in options) {\n\t\tconst colorReplacements = resolveColorReplacements(options.theme, options);\n\t\ttokens = codeToTokensBase(primitive, code, options);\n\t\tconst _theme = primitive.getTheme(options.theme);\n\t\tbg = applyColorReplacements(_theme.bg, colorReplacements);\n\t\tfg = applyColorReplacements(_theme.fg, colorReplacements);\n\t\tthemeName = _theme.name;\n\t\tgrammarState = getLastGrammarStateFromMap(tokens);\n\t} else throw new ShikiError$1(\"Invalid options, either `theme` or `themes` must be provided\");\n\treturn {\n\t\ttokens,\n\t\tfg,\n\t\tbg,\n\t\tthemeName,\n\t\trootStyle,\n\t\tgrammarState\n\t};\n}\nfunction mapThemeColors(themes, themeRegs, themeColorReplacements, cssVariablePrefix, defaultColor, property, colorsRendering) {\n\treturn themes.map((t, idx) => {\n\t\tconst value = applyColorReplacements(themeRegs[idx][property], themeColorReplacements[idx]) || \"inherit\";\n\t\tconst cssVar = `${cssVariablePrefix + t.color}${property === \"bg\" ? \"-bg\" : \"\"}:${value}`;\n\t\tif (idx === 0 && defaultColor) {\n\t\t\tif (defaultColor === \"light-dark()\" && themes.length > 1) {\n\t\t\t\tconst lightIndex = themes.findIndex((t) => t.color === \"light\");\n\t\t\t\tconst darkIndex = themes.findIndex((t) => t.color === \"dark\");\n\t\t\t\tif (lightIndex === -1 || darkIndex === -1) throw new ShikiError$1(\"When using `defaultColor: \\\"light-dark()\\\"`, you must provide both `light` and `dark` themes\");\n\t\t\t\treturn `light-dark(${applyColorReplacements(themeRegs[lightIndex][property], themeColorReplacements[lightIndex]) || \"inherit\"}, ${applyColorReplacements(themeRegs[darkIndex][property], themeColorReplacements[darkIndex]) || \"inherit\"});${cssVar}`;\n\t\t\t}\n\t\t\treturn value;\n\t\t}\n\t\tif (colorsRendering === \"css-vars\") return cssVar;\n\t\treturn null;\n\t}).filter((i) => !!i).join(\";\");\n}\n//#endregion\n//#region src/highlight/code-to-hast.ts\nconst RE_WHITESPACE_ONLY = /^\\s+$/;\nconst RE_LEADING_TRAILING_WHITESPACE = /^(\\s*)(.*?)(\\s*)$/;\nfunction codeToHast(primitive, code, options, transformerContext = {\n\tmeta: {},\n\toptions,\n\tcodeToHast: (_code, _options) => codeToHast(primitive, _code, _options),\n\tcodeToTokens: (_code, _options) => codeToTokens(primitive, _code, _options)\n}) {\n\tlet input = code;\n\tfor (const transformer of getTransformers(options)) input = transformer.preprocess?.call(transformerContext, input, options) || input;\n\tlet { tokens, fg, bg, themeName, rootStyle, grammarState } = codeToTokens(primitive, input, options);\n\tconst { mergeWhitespaces = true, mergeSameStyleTokens = false } = options;\n\tif (mergeWhitespaces === true) tokens = mergeWhitespaceTokens(tokens);\n\telse if (mergeWhitespaces === \"never\") tokens = splitWhitespaceTokens(tokens);\n\tif (mergeSameStyleTokens) tokens = mergeAdjacentStyledTokens(tokens);\n\tconst contextSource = {\n\t\t...transformerContext,\n\t\tget source() {\n\t\t\treturn input;\n\t\t}\n\t};\n\tfor (const transformer of getTransformers(options)) tokens = transformer.tokens?.call(contextSource, tokens) || tokens;\n\treturn tokensToHast(tokens, {\n\t\t...options,\n\t\tfg,\n\t\tbg,\n\t\tthemeName,\n\t\trootStyle: options.rootStyle === false ? false : options.rootStyle ?? rootStyle\n\t}, contextSource, grammarState);\n}\nfunction tokensToHast(tokens, options, transformerContext, grammarState = getLastGrammarStateFromMap(tokens)) {\n\tconst transformers = getTransformers(options);\n\tconst lines = [];\n\tconst root = {\n\t\ttype: \"root\",\n\t\tchildren: []\n\t};\n\tconst { structure = \"classic\", tabindex = \"0\" } = options;\n\tconst properties = { class: `shiki ${options.themeName || \"\"}` };\n\tif (options.rootStyle !== false) if (options.rootStyle != null) properties.style = options.rootStyle;\n\telse properties.style = `background-color:${options.bg};color:${options.fg}`;\n\tif (tabindex !== false && tabindex != null) properties.tabindex = tabindex.toString();\n\tfor (const [key, value] of Object.entries(options.meta || {})) if (!key.startsWith(\"_\")) properties[key] = value;\n\tlet preNode = {\n\t\ttype: \"element\",\n\t\ttagName: \"pre\",\n\t\tproperties,\n\t\tchildren: [],\n\t\tdata: options.data\n\t};\n\tlet codeNode = {\n\t\ttype: \"element\",\n\t\ttagName: \"code\",\n\t\tproperties: {},\n\t\tchildren: lines\n\t};\n\tconst lineNodes = [];\n\tconst context = {\n\t\t...transformerContext,\n\t\tstructure,\n\t\taddClassToHast,\n\t\tget source() {\n\t\t\treturn transformerContext.source;\n\t\t},\n\t\tget tokens() {\n\t\t\treturn tokens;\n\t\t},\n\t\tget options() {\n\t\t\treturn options;\n\t\t},\n\t\tget root() {\n\t\t\treturn root;\n\t\t},\n\t\tget pre() {\n\t\t\treturn preNode;\n\t\t},\n\t\tget code() {\n\t\t\treturn codeNode;\n\t\t},\n\t\tget lines() {\n\t\t\treturn lineNodes;\n\t\t}\n\t};\n\ttokens.forEach((line, idx) => {\n\t\tif (idx) {\n\t\t\tif (structure === \"inline\") root.children.push({\n\t\t\t\ttype: \"element\",\n\t\t\t\ttagName: \"br\",\n\t\t\t\tproperties: {},\n\t\t\t\tchildren: []\n\t\t\t});\n\t\t\telse if (structure === \"classic\") lines.push({\n\t\t\t\ttype: \"text\",\n\t\t\t\tvalue: \"\\n\"\n\t\t\t});\n\t\t}\n\t\tlet lineNode = {\n\t\t\ttype: \"element\",\n\t\t\ttagName: \"span\",\n\t\t\tproperties: { class: \"line\" },\n\t\t\tchildren: []\n\t\t};\n\t\tlet col = 0;\n\t\tfor (const token of line) {\n\t\t\tlet tokenNode = {\n\t\t\t\ttype: \"element\",\n\t\t\t\ttagName: \"span\",\n\t\t\t\tproperties: { ...token.htmlAttrs },\n\t\t\t\tchildren: [{\n\t\t\t\t\ttype: \"text\",\n\t\t\t\t\tvalue: token.content\n\t\t\t\t}]\n\t\t\t};\n\t\t\tconst style = stringifyTokenStyle(token.htmlStyle || getTokenStyleObject(token));\n\t\t\tif (style) tokenNode.properties.style = style;\n\t\t\tfor (const transformer of transformers) tokenNode = transformer?.span?.call(context, tokenNode, idx + 1, col, lineNode, token) || tokenNode;\n\t\t\tif (structure === \"inline\") root.children.push(tokenNode);\n\t\t\telse if (structure === \"classic\") lineNode.children.push(tokenNode);\n\t\t\tcol += token.content.length;\n\t\t}\n\t\tif (structure === \"classic\") {\n\t\t\tfor (const transformer of transformers) lineNode = transformer?.line?.call(context, lineNode, idx + 1) || lineNode;\n\t\t\tlineNodes.push(lineNode);\n\t\t\tlines.push(lineNode);\n\t\t} else if (structure === \"inline\") lineNodes.push(lineNode);\n\t});\n\tif (structure === \"classic\") {\n\t\tfor (const transformer of transformers) codeNode = transformer?.code?.call(context, codeNode) || codeNode;\n\t\tpreNode.children.push(codeNode);\n\t\tfor (const transformer of transformers) preNode = transformer?.pre?.call(context, preNode) || preNode;\n\t\troot.children.push(preNode);\n\t} else if (structure === \"inline\") {\n\t\tconst syntheticLines = [];\n\t\tlet currentLine = {\n\t\t\ttype: \"element\",\n\t\t\ttagName: \"span\",\n\t\t\tproperties: { class: \"line\" },\n\t\t\tchildren: []\n\t\t};\n\t\tfor (const child of root.children) if (child.type === \"element\" && child.tagName === \"br\") {\n\t\t\tsyntheticLines.push(currentLine);\n\t\t\tcurrentLine = {\n\t\t\t\ttype: \"element\",\n\t\t\t\ttagName: \"span\",\n\t\t\t\tproperties: { class: \"line\" },\n\t\t\t\tchildren: []\n\t\t\t};\n\t\t} else if (child.type === \"element\" || child.type === \"text\") currentLine.children.push(child);\n\t\tsyntheticLines.push(currentLine);\n\t\tlet transformedCode = {\n\t\t\ttype: \"element\",\n\t\t\ttagName: \"code\",\n\t\t\tproperties: {},\n\t\t\tchildren: syntheticLines\n\t\t};\n\t\tfor (const transformer of transformers) transformedCode = transformer?.code?.call(context, transformedCode) || transformedCode;\n\t\troot.children = [];\n\t\tfor (let i = 0; i < transformedCode.children.length; i++) {\n\t\t\tif (i > 0) root.children.push({\n\t\t\t\ttype: \"element\",\n\t\t\t\ttagName: \"br\",\n\t\t\t\tproperties: {},\n\t\t\t\tchildren: []\n\t\t\t});\n\t\t\tconst line = transformedCode.children[i];\n\t\t\tif (line.type === \"element\") root.children.push(...line.children);\n\t\t}\n\t}\n\tlet result = root;\n\tfor (const transformer of transformers) result = transformer?.root?.call(context, result) || result;\n\tif (grammarState) setLastGrammarStateToMap(result, grammarState);\n\treturn result;\n}\nfunction mergeWhitespaceTokens(tokens) {\n\treturn tokens.map((line) => {\n\t\tconst newLine = [];\n\t\tlet carryOnContent = \"\";\n\t\tlet firstOffset;\n\t\tline.forEach((token, idx) => {\n\t\t\tconst couldMerge = !(token.fontStyle && (token.fontStyle & FontStyle.Underline || token.fontStyle & FontStyle.Strikethrough));\n\t\t\tif (couldMerge && RE_WHITESPACE_ONLY.test(token.content) && line[idx + 1]) {\n\t\t\t\tif (firstOffset === void 0) firstOffset = token.offset;\n\t\t\t\tcarryOnContent += token.content;\n\t\t\t} else if (carryOnContent) {\n\t\t\t\tif (couldMerge) newLine.push({\n\t\t\t\t\t...token,\n\t\t\t\t\toffset: firstOffset,\n\t\t\t\t\tcontent: carryOnContent + token.content\n\t\t\t\t});\n\t\t\t\telse newLine.push({\n\t\t\t\t\tcontent: carryOnContent,\n\t\t\t\t\toffset: firstOffset\n\t\t\t\t}, token);\n\t\t\t\tfirstOffset = void 0;\n\t\t\t\tcarryOnContent = \"\";\n\t\t\t} else newLine.push(token);\n\t\t});\n\t\treturn newLine;\n\t});\n}\nfunction splitWhitespaceTokens(tokens) {\n\treturn tokens.map((line) => {\n\t\treturn line.flatMap((token) => {\n\t\t\tif (RE_WHITESPACE_ONLY.test(token.content)) return token;\n\t\t\tconst match = token.content.match(RE_LEADING_TRAILING_WHITESPACE);\n\t\t\tif (!match) return token;\n\t\t\tconst [, leading, content, trailing] = match;\n\t\t\tif (!leading && !trailing) return token;\n\t\t\tconst expanded = [{\n\t\t\t\t...token,\n\t\t\t\toffset: token.offset + leading.length,\n\t\t\t\tcontent\n\t\t\t}];\n\t\t\tif (leading) expanded.unshift({\n\t\t\t\tcontent: leading,\n\t\t\t\toffset: token.offset\n\t\t\t});\n\t\t\tif (trailing) expanded.push({\n\t\t\t\tcontent: trailing,\n\t\t\t\toffset: token.offset + leading.length + content.length\n\t\t\t});\n\t\t\treturn expanded;\n\t\t});\n\t});\n}\nfunction mergeAdjacentStyledTokens(tokens) {\n\treturn tokens.map((line) => {\n\t\tconst newLine = [];\n\t\tfor (const token of line) {\n\t\t\tif (newLine.length === 0) {\n\t\t\t\tnewLine.push({ ...token });\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tconst prevToken = newLine.at(-1);\n\t\t\tconst prevStyle = stringifyTokenStyle(prevToken.htmlStyle || getTokenStyleObject(prevToken));\n\t\t\tconst currentStyle = stringifyTokenStyle(token.htmlStyle || getTokenStyleObject(token));\n\t\t\tconst isPrevDecorated = prevToken.fontStyle && (prevToken.fontStyle & FontStyle.Underline || prevToken.fontStyle & FontStyle.Strikethrough);\n\t\t\tconst isDecorated = token.fontStyle && (token.fontStyle & FontStyle.Underline || token.fontStyle & FontStyle.Strikethrough);\n\t\t\tif (!isPrevDecorated && !isDecorated && prevStyle === currentStyle) prevToken.content += token.content;\n\t\t\telse newLine.push({ ...token });\n\t\t}\n\t\treturn newLine;\n\t});\n}\n//#endregion\n//#region src/highlight/code-to-html.ts\nconst hastToHtml = toHtml;\n/**\n* Get highlighted code in HTML.\n*/\nfunction codeToHtml(primitive, code, options) {\n\tconst context = {\n\t\tmeta: {},\n\t\toptions,\n\t\tcodeToHast: (_code, _options) => codeToHast(primitive, _code, _options),\n\t\tcodeToTokens: (_code, _options) => codeToTokens(primitive, _code, _options)\n\t};\n\tlet result = hastToHtml(codeToHast(primitive, code, options, context));\n\tfor (const transformer of getTransformers(options)) result = transformer.postprocess?.call(context, result, options) || result;\n\treturn result;\n}\n//#endregion\n//#region src/constructors/highlighter.ts\n/**\n* Create a Shiki core highlighter instance, with no languages or themes bundled.\n* Wasm and each language and theme must be loaded manually.\n*\n* @see http://shiki.style/guide/bundles#fine-grained-bundle\n*/\nasync function createHighlighterCore(options) {\n\tconst primitive = await createShikiPrimitiveAsync$1(options);\n\treturn {\n\t\tgetLastGrammarState: (...args) => getLastGrammarState(primitive, ...args),\n\t\tcodeToTokensBase: (code, options) => codeToTokensBase(primitive, code, options),\n\t\tcodeToTokensWithThemes: (code, options) => codeToTokensWithThemes$1(primitive, code, options),\n\t\tcodeToTokens: (code, options) => codeToTokens(primitive, code, options),\n\t\tcodeToHast: (code, options) => codeToHast(primitive, code, options),\n\t\tcodeToHtml: (code, options) => codeToHtml(primitive, code, options),\n\t\tgetBundledLanguages: () => ({}),\n\t\tgetBundledThemes: () => ({}),\n\t\t...primitive,\n\t\tgetInternalContext: () => primitive\n\t};\n}\n/**\n* Create a Shiki core highlighter instance, with no languages or themes bundled.\n* Wasm and each language and theme must be loaded manually.\n*\n* Synchronous version of `createHighlighterCore`, which requires to provide the engine and all themes and languages upfront.\n*\n* @see http://shiki.style/guide/bundles#fine-grained-bundle\n*/\nfunction createHighlighterCoreSync(options) {\n\tconst internal = createShikiPrimitive$1(options);\n\treturn {\n\t\tgetLastGrammarState: (...args) => getLastGrammarState(internal, ...args),\n\t\tcodeToTokensBase: (code, options) => codeToTokensBase(internal, code, options),\n\t\tcodeToTokensWithThemes: (code, options) => codeToTokensWithThemes$1(internal, code, options),\n\t\tcodeToTokens: (code, options) => codeToTokens(internal, code, options),\n\t\tcodeToHast: (code, options) => codeToHast(internal, code, options),\n\t\tcodeToHtml: (code, options) => codeToHtml(internal, code, options),\n\t\tgetBundledLanguages: () => ({}),\n\t\tgetBundledThemes: () => ({}),\n\t\t...internal,\n\t\tgetInternalContext: () => internal\n\t};\n}\nfunction makeSingletonHighlighterCore(createHighlighter) {\n\tlet _shiki;\n\tasync function getSingletonHighlighterCore(options) {\n\t\tif (!_shiki) {\n\t\t\t_shiki = createHighlighter({\n\t\t\t\t...options,\n\t\t\t\tthemes: options.themes || [],\n\t\t\t\tlangs: options.langs || []\n\t\t\t});\n\t\t\treturn _shiki;\n\t\t} else {\n\t\t\tconst s = await _shiki;\n\t\t\tawait Promise.all([s.loadTheme(...options.themes || []), s.loadLanguage(...options.langs || [])]);\n\t\t\treturn s;\n\t\t}\n\t}\n\treturn getSingletonHighlighterCore;\n}\nconst getSingletonHighlighterCore = /* @__PURE__ */ makeSingletonHighlighterCore(createHighlighterCore);\n//#endregion\n//#region src/constructors/bundle-factory.ts\nfunction createBundledHighlighter(options) {\n\tconst bundledLanguages = options.langs;\n\tconst bundledThemes = options.themes;\n\tconst engine = options.engine;\n\tasync function createHighlighter(options) {\n\t\tfunction resolveLang(lang) {\n\t\t\tif (typeof lang === \"string\") {\n\t\t\t\tlang = options.langAlias?.[lang] || lang;\n\t\t\t\tif (isSpecialLang(lang)) return [];\n\t\t\t\tconst bundle = bundledLanguages[lang];\n\t\t\t\tif (!bundle) throw new ShikiError$1(`Language \\`${lang}\\` is not included in this bundle. You may want to load it from external source.`);\n\t\t\t\treturn bundle;\n\t\t\t}\n\t\t\treturn lang;\n\t\t}\n\t\tfunction resolveTheme(theme) {\n\t\t\tif (isSpecialTheme(theme)) return \"none\";\n\t\t\tif (typeof theme === \"string\") {\n\t\t\t\tconst bundle = bundledThemes[theme];\n\t\t\t\tif (!bundle) throw new ShikiError$1(`Theme \\`${theme}\\` is not included in this bundle. You may want to load it from external source.`);\n\t\t\t\treturn bundle;\n\t\t\t}\n\t\t\treturn theme;\n\t\t}\n\t\tconst _themes = (options.themes ?? []).map((i) => resolveTheme(i));\n\t\tconst langs = (options.langs ?? []).map((i) => resolveLang(i));\n\t\tconst core = await createHighlighterCore({\n\t\t\tengine: options.engine ?? engine(),\n\t\t\t...options,\n\t\t\tthemes: _themes,\n\t\t\tlangs\n\t\t});\n\t\treturn {\n\t\t\t...core,\n\t\t\tloadLanguage(...langs) {\n\t\t\t\treturn core.loadLanguage(...langs.map(resolveLang));\n\t\t\t},\n\t\t\tloadTheme(...themes) {\n\t\t\t\treturn core.loadTheme(...themes.map(resolveTheme));\n\t\t\t},\n\t\t\tgetBundledLanguages() {\n\t\t\t\treturn bundledLanguages;\n\t\t\t},\n\t\t\tgetBundledThemes() {\n\t\t\t\treturn bundledThemes;\n\t\t\t}\n\t\t};\n\t}\n\treturn createHighlighter;\n}\nfunction makeSingletonHighlighter(createHighlighter) {\n\tlet _shiki;\n\tasync function getSingletonHighlighter(options = {}) {\n\t\tif (!_shiki) {\n\t\t\t_shiki = createHighlighter({\n\t\t\t\t...options,\n\t\t\t\tthemes: [],\n\t\t\t\tlangs: []\n\t\t\t});\n\t\t\tconst s = await _shiki;\n\t\t\tawait Promise.all([s.loadTheme(...options.themes || []), s.loadLanguage(...options.langs || [])]);\n\t\t\treturn s;\n\t\t} else {\n\t\t\tconst s = await _shiki;\n\t\t\tawait Promise.all([s.loadTheme(...options.themes || []), s.loadLanguage(...options.langs || [])]);\n\t\t\treturn s;\n\t\t}\n\t}\n\treturn getSingletonHighlighter;\n}\nfunction createSingletonShorthands(createHighlighter, config) {\n\tconst getSingletonHighlighter = makeSingletonHighlighter(createHighlighter);\n\tasync function get(code, options) {\n\t\tconst shiki = await getSingletonHighlighter({\n\t\t\tlangs: [options.lang],\n\t\t\tthemes: \"theme\" in options ? [options.theme] : Object.values(options.themes)\n\t\t});\n\t\tconst langs = await config?.guessEmbeddedLanguages?.(code, options.lang, shiki);\n\t\tif (langs) await shiki.loadLanguage(...langs);\n\t\treturn shiki;\n\t}\n\treturn {\n\t\tgetSingletonHighlighter(options) {\n\t\t\treturn getSingletonHighlighter(options);\n\t\t},\n\t\tasync codeToHtml(code, options) {\n\t\t\treturn (await get(code, options)).codeToHtml(code, options);\n\t\t},\n\t\tasync codeToHast(code, options) {\n\t\t\treturn (await get(code, options)).codeToHast(code, options);\n\t\t},\n\t\tasync codeToTokens(code, options) {\n\t\t\treturn (await get(code, options)).codeToTokens(code, options);\n\t\t},\n\t\tasync codeToTokensBase(code, options) {\n\t\t\treturn (await get(code, options)).codeToTokensBase(code, options);\n\t\t},\n\t\tasync codeToTokensWithThemes(code, options) {\n\t\t\treturn (await get(code, options)).codeToTokensWithThemes(code, options);\n\t\t},\n\t\tasync getLastGrammarState(code, options) {\n\t\t\treturn (await getSingletonHighlighter({\n\t\t\t\tlangs: [options.lang],\n\t\t\t\tthemes: [options.theme]\n\t\t\t})).getLastGrammarState(code, options);\n\t\t}\n\t};\n}\n//#endregion\n//#region src/theme-css-variables.ts\n/**\n* A factory function to create a css-variable-based theme\n*\n* @see https://shiki.style/guide/theme-colors#css-variables-theme\n*/\nfunction createCssVariablesTheme(options = {}) {\n\tconst { name = \"css-variables\", variablePrefix = \"--shiki-\", fontStyle = true } = options;\n\tconst variable = (name) => {\n\t\tif (options.variableDefaults?.[name]) return `var(${variablePrefix}${name}, ${options.variableDefaults[name]})`;\n\t\treturn `var(${variablePrefix}${name})`;\n\t};\n\tconst theme = {\n\t\tname,\n\t\ttype: \"dark\",\n\t\tcolors: {\n\t\t\t\"editor.foreground\": variable(\"foreground\"),\n\t\t\t\"editor.background\": variable(\"background\"),\n\t\t\t\"terminal.ansiBlack\": variable(\"ansi-black\"),\n\t\t\t\"terminal.ansiRed\": variable(\"ansi-red\"),\n\t\t\t\"terminal.ansiGreen\": variable(\"ansi-green\"),\n\t\t\t\"terminal.ansiYellow\": variable(\"ansi-yellow\"),\n\t\t\t\"terminal.ansiBlue\": variable(\"ansi-blue\"),\n\t\t\t\"terminal.ansiMagenta\": variable(\"ansi-magenta\"),\n\t\t\t\"terminal.ansiCyan\": variable(\"ansi-cyan\"),\n\t\t\t\"terminal.ansiWhite\": variable(\"ansi-white\"),\n\t\t\t\"terminal.ansiBrightBlack\": variable(\"ansi-bright-black\"),\n\t\t\t\"terminal.ansiBrightRed\": variable(\"ansi-bright-red\"),\n\t\t\t\"terminal.ansiBrightGreen\": variable(\"ansi-bright-green\"),\n\t\t\t\"terminal.ansiBrightYellow\": variable(\"ansi-bright-yellow\"),\n\t\t\t\"terminal.ansiBrightBlue\": variable(\"ansi-bright-blue\"),\n\t\t\t\"terminal.ansiBrightMagenta\": variable(\"ansi-bright-magenta\"),\n\t\t\t\"terminal.ansiBrightCyan\": variable(\"ansi-bright-cyan\"),\n\t\t\t\"terminal.ansiBrightWhite\": variable(\"ansi-bright-white\")\n\t\t},\n\t\ttokenColors: [\n\t\t\t{\n\t\t\t\tscope: [\n\t\t\t\t\t\"keyword.operator.accessor\",\n\t\t\t\t\t\"meta.group.braces.round.function.arguments\",\n\t\t\t\t\t\"meta.template.expression\",\n\t\t\t\t\t\"markup.fenced_code meta.embedded.block\"\n\t\t\t\t],\n\t\t\t\tsettings: { foreground: variable(\"foreground\") }\n\t\t\t},\n\t\t\t{\n\t\t\t\tscope: \"emphasis\",\n\t\t\t\tsettings: { fontStyle: \"italic\" }\n\t\t\t},\n\t\t\t{\n\t\t\t\tscope: [\n\t\t\t\t\t\"strong\",\n\t\t\t\t\t\"markup.heading.markdown\",\n\t\t\t\t\t\"markup.bold.markdown\"\n\t\t\t\t],\n\t\t\t\tsettings: { fontStyle: \"bold\" }\n\t\t\t},\n\t\t\t{\n\t\t\t\tscope: [\"markup.italic.markdown\"],\n\t\t\t\tsettings: { fontStyle: \"italic\" }\n\t\t\t},\n\t\t\t{\n\t\t\t\tscope: \"meta.link.inline.markdown\",\n\t\t\t\tsettings: {\n\t\t\t\t\tfontStyle: \"underline\",\n\t\t\t\t\tforeground: variable(\"token-link\")\n\t\t\t\t}\n\t\t\t},\n\t\t\t{\n\t\t\t\tscope: [\n\t\t\t\t\t\"string\",\n\t\t\t\t\t\"markup.fenced_code\",\n\t\t\t\t\t\"markup.inline\"\n\t\t\t\t],\n\t\t\t\tsettings: { foreground: variable(\"token-string\") }\n\t\t\t},\n\t\t\t{\n\t\t\t\tscope: [\"comment\", \"string.quoted.docstring.multi\"],\n\t\t\t\tsettings: { foreground: variable(\"token-comment\") }\n\t\t\t},\n\t\t\t{\n\t\t\t\tscope: [\n\t\t\t\t\t\"constant.numeric\",\n\t\t\t\t\t\"constant.language\",\n\t\t\t\t\t\"constant.other.placeholder\",\n\t\t\t\t\t\"constant.character.format.placeholder\",\n\t\t\t\t\t\"variable.language.this\",\n\t\t\t\t\t\"variable.other.object\",\n\t\t\t\t\t\"variable.other.class\",\n\t\t\t\t\t\"variable.other.constant\",\n\t\t\t\t\t\"meta.property-name\",\n\t\t\t\t\t\"meta.property-value\",\n\t\t\t\t\t\"support\"\n\t\t\t\t],\n\t\t\t\tsettings: { foreground: variable(\"token-constant\") }\n\t\t\t},\n\t\t\t{\n\t\t\t\tscope: [\n\t\t\t\t\t\"keyword\",\n\t\t\t\t\t\"storage.modifier\",\n\t\t\t\t\t\"storage.type\",\n\t\t\t\t\t\"storage.control.clojure\",\n\t\t\t\t\t\"entity.name.function.clojure\",\n\t\t\t\t\t\"entity.name.tag.yaml\",\n\t\t\t\t\t\"support.function.node\",\n\t\t\t\t\t\"support.type.property-name.json\",\n\t\t\t\t\t\"punctuation.separator.key-value\",\n\t\t\t\t\t\"punctuation.definition.template-expression\"\n\t\t\t\t],\n\t\t\t\tsettings: { foreground: variable(\"token-keyword\") }\n\t\t\t},\n\t\t\t{\n\t\t\t\tscope: \"variable.parameter.function\",\n\t\t\t\tsettings: { foreground: variable(\"token-parameter\") }\n\t\t\t},\n\t\t\t{\n\t\t\t\tscope: [\n\t\t\t\t\t\"support.function\",\n\t\t\t\t\t\"entity.name.type\",\n\t\t\t\t\t\"entity.other.inherited-class\",\n\t\t\t\t\t\"meta.function-call\",\n\t\t\t\t\t\"meta.instance.constructor\",\n\t\t\t\t\t\"entity.other.attribute-name\",\n\t\t\t\t\t\"entity.name.function\",\n\t\t\t\t\t\"constant.keyword.clojure\"\n\t\t\t\t],\n\t\t\t\tsettings: { foreground: variable(\"token-function\") }\n\t\t\t},\n\t\t\t{\n\t\t\t\tscope: [\n\t\t\t\t\t\"entity.name.tag\",\n\t\t\t\t\t\"string.quoted\",\n\t\t\t\t\t\"string.regexp\",\n\t\t\t\t\t\"string.interpolated\",\n\t\t\t\t\t\"string.template\",\n\t\t\t\t\t\"string.unquoted.plain.out.yaml\",\n\t\t\t\t\t\"keyword.other.template\"\n\t\t\t\t],\n\t\t\t\tsettings: { foreground: variable(\"token-string-expression\") }\n\t\t\t},\n\t\t\t{\n\t\t\t\tscope: [\n\t\t\t\t\t\"punctuation.definition.arguments\",\n\t\t\t\t\t\"punctuation.definition.dict\",\n\t\t\t\t\t\"punctuation.separator\",\n\t\t\t\t\t\"meta.function-call.arguments\"\n\t\t\t\t],\n\t\t\t\tsettings: { foreground: variable(\"token-punctuation\") }\n\t\t\t},\n\t\t\t{\n\t\t\t\tscope: [\"markup.underline.link\", \"punctuation.definition.metadata.markdown\"],\n\t\t\t\tsettings: { foreground: variable(\"token-link\") }\n\t\t\t},\n\t\t\t{\n\t\t\t\tscope: [\"beginning.punctuation.definition.list.markdown\"],\n\t\t\t\tsettings: { foreground: variable(\"token-string\") }\n\t\t\t},\n\t\t\t{\n\t\t\t\tscope: [\n\t\t\t\t\t\"punctuation.definition.string.begin.markdown\",\n\t\t\t\t\t\"punctuation.definition.string.end.markdown\",\n\t\t\t\t\t\"string.other.link.title.markdown\",\n\t\t\t\t\t\"string.other.link.description.markdown\"\n\t\t\t\t],\n\t\t\t\tsettings: { foreground: variable(\"token-keyword\") }\n\t\t\t},\n\t\t\t{\n\t\t\t\tscope: [\n\t\t\t\t\t\"markup.inserted\",\n\t\t\t\t\t\"meta.diff.header.to-file\",\n\t\t\t\t\t\"punctuation.definition.inserted\"\n\t\t\t\t],\n\t\t\t\tsettings: { foreground: variable(\"token-inserted\") }\n\t\t\t},\n\t\t\t{\n\t\t\t\tscope: [\n\t\t\t\t\t\"markup.deleted\",\n\t\t\t\t\t\"meta.diff.header.from-file\",\n\t\t\t\t\t\"punctuation.definition.deleted\"\n\t\t\t\t],\n\t\t\t\tsettings: { foreground: variable(\"token-deleted\") }\n\t\t\t},\n\t\t\t{\n\t\t\t\tscope: [\"markup.changed\", \"punctuation.definition.changed\"],\n\t\t\t\tsettings: { foreground: variable(\"token-changed\") }\n\t\t\t}\n\t\t]\n\t};\n\tif (!fontStyle) theme.tokenColors = theme.tokenColors?.map((tokenColor) => {\n\t\tif (tokenColor.settings?.fontStyle) delete tokenColor.settings.fontStyle;\n\t\treturn tokenColor;\n\t});\n\treturn theme;\n}\n//#endregion\nexport { ShikiError, addClassToHast, applyColorReplacements, codeToHast, codeToHtml, codeToTokens, codeToTokensBase, codeToTokensWithThemes, createBundledHighlighter, createCssVariablesTheme, createHighlighterCore, createHighlighterCoreSync, createPositionConverter, createShikiInternal, createShikiInternalSync, createShikiPrimitive, createShikiPrimitiveAsync, createSingletonShorthands, flatTokenVariants, getLastGrammarState, getSingletonHighlighterCore, getTokenStyleObject, guessEmbeddedLanguages, hastToHtml, isNoneTheme, isPlainLang, isSpecialLang, isSpecialTheme, makeSingletonHighlighter, makeSingletonHighlighterCore, normalizeGetter, normalizeTheme, resolveColorReplacements, splitLines, splitToken, splitTokens, stringifyTokenStyle, toArray, tokenizeAnsiWithTheme, tokenizeWithTheme, tokensToHast, transformerDecorations };\n"],"x_google_ignoreList":[0],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":[],"sources":["../../../../../../../../../../../node_modules/@shikijs/core/node_modules/@shikijs/types/dist/index.mjs"],"sourcesContent":["//#region src/error.ts\nvar ShikiError = class extends Error {\n\tconstructor(message) {\n\t\tsuper(message);\n\t\tthis.name = \"ShikiError\";\n\t}\n};\n
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../../../../../../../../../../node_modules/@shikijs/core/node_modules/@shikijs/types/dist/index.mjs"],"sourcesContent":["//#region src/error.ts\nvar ShikiError = class extends Error {\n\tconstructor(message) {\n\t\tsuper(message);\n\t\tthis.name = \"ShikiError\";\n\t}\n};\n//#endregion\nexport { ShikiError };\n"],"x_google_ignoreList":[0],"mappings":";AACA,IAAI,IAAa,cAAc,MAAM;CACpC,YAAY,GAAS;EAEpB,AADA,MAAM,CAAO,GACb,KAAK,OAAO;CACb;AACD"}
|