@atme-lab/ui-kit 0.1.23 → 0.1.24
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/dist/components/primitives/Term/Term.d.ts +1 -2
- package/dist/index.cjs10.js +1 -1
- package/dist/index.cjs11.js +1 -1
- package/dist/index.cjs12.js +1 -1
- package/dist/index.cjs13.js +1 -1
- package/dist/index.cjs14.js +1 -1
- package/dist/index.cjs15.js +1 -1
- package/dist/index.cjs16.js +1 -1
- package/dist/index.cjs18.js +1 -1
- package/dist/index.cjs19.js +1 -1
- package/dist/index.cjs20.js +1 -1
- package/dist/index.cjs21.js +1 -1
- package/dist/index.cjs22.js +1 -1
- package/dist/index.cjs23.js +1 -1
- package/dist/index.cjs24.js +1 -1
- package/dist/index.cjs24.js.map +1 -1
- package/dist/index.cjs25.js +1 -1
- package/dist/index.cjs27.js +1 -1
- package/dist/index.cjs28.js +1 -1
- package/dist/index.cjs29.js +1 -1
- package/dist/index.cjs30.js +1 -1
- package/dist/index.cjs31.js +1 -1
- package/dist/index.cjs387.js +1 -1
- package/dist/index.cjs41.js +1 -1
- package/dist/index.cjs413.js +1 -1
- package/dist/index.cjs414.js +1 -1
- package/dist/index.cjs415.js +1 -1
- package/dist/index.cjs416.js +1 -1
- package/dist/index.cjs42.js +1 -1
- package/dist/index.cjs430.js +1 -1
- package/dist/index.cjs432.js +1 -1
- package/dist/index.cjs435.js +1 -1
- package/dist/index.cjs44.js +1 -1
- package/dist/index.cjs445.js +6 -1
- package/dist/index.cjs445.js.map +1 -1
- package/dist/index.cjs446.js +6 -1
- package/dist/index.cjs446.js.map +1 -1
- package/dist/index.cjs447.js +6 -1
- package/dist/index.cjs447.js.map +1 -1
- package/dist/index.cjs448.js +6 -1
- package/dist/index.cjs448.js.map +1 -1
- package/dist/index.cjs449.js +1 -1
- package/dist/index.cjs449.js.map +1 -1
- package/dist/index.cjs45.js +1 -1
- package/dist/index.cjs450.js +1 -1
- package/dist/index.cjs450.js.map +1 -1
- package/dist/index.cjs451.js +1 -6
- package/dist/index.cjs451.js.map +1 -1
- package/dist/index.cjs452.js +1 -6
- package/dist/index.cjs452.js.map +1 -1
- package/dist/index.cjs453.js +1 -6
- package/dist/index.cjs453.js.map +1 -1
- package/dist/index.cjs454.js +1 -6
- package/dist/index.cjs454.js.map +1 -1
- package/dist/index.cjs46.js +1 -1
- package/dist/index.cjs46.js.map +1 -1
- package/dist/index.cjs47.js +1 -1
- package/dist/index.cjs48.js +1 -1
- package/dist/index.cjs49.js +1 -1
- package/dist/index.cjs50.js +1 -1
- package/dist/index.cjs51.js +1 -1
- package/dist/index.cjs51.js.map +1 -1
- package/dist/index.cjs52.js +1 -1
- package/dist/index.cjs53.js +1 -1
- package/dist/index.cjs54.js +1 -1
- package/dist/index.cjs54.js.map +1 -1
- package/dist/index.cjs55.js +1 -1
- package/dist/index.cjs56.js +1 -1
- package/dist/index.cjs56.js.map +1 -1
- package/dist/index.cjs57.js +1 -1
- package/dist/index.cjs57.js.map +1 -1
- package/dist/index.cjs58.js +1 -1
- package/dist/index.cjs59.js +1 -1
- package/dist/index.cjs59.js.map +1 -1
- package/dist/index.cjs60.js +1 -1
- package/dist/index.cjs61.js +1 -1
- package/dist/index.cjs61.js.map +1 -1
- package/dist/index.cjs62.js +1 -1
- package/dist/index.cjs62.js.map +1 -1
- package/dist/index.cjs63.js +1 -1
- package/dist/index.cjs64.js +1 -1
- package/dist/index.cjs64.js.map +1 -1
- package/dist/index.cjs65.js +1 -1
- package/dist/index.cjs65.js.map +1 -1
- package/dist/index.cjs66.js +1 -1
- package/dist/index.cjs66.js.map +1 -1
- package/dist/index.cjs67.js +1 -1
- package/dist/index.cjs67.js.map +1 -1
- package/dist/index.cjs69.js +1 -1
- package/dist/index.cjs70.js +1 -1
- package/dist/index.cjs71.js +1 -1
- package/dist/index.cjs72.js +1 -1
- package/dist/index.cjs74.js +1 -1
- package/dist/index.cjs75.js +1 -1
- package/dist/index.cjs76.js +1 -1
- package/dist/index.cjs76.js.map +1 -1
- package/dist/index.cjs77.js +1 -1
- package/dist/index.cjs77.js.map +1 -1
- package/dist/index.cjs80.js +1 -1
- package/dist/index.cjs80.js.map +1 -1
- package/dist/index.cjs81.js +1 -1
- package/dist/index.cjs81.js.map +1 -1
- package/dist/index.cjs82.js +1 -2
- package/dist/index.cjs82.js.map +1 -1
- package/dist/index.cjs83.js +2 -1
- package/dist/index.cjs83.js.map +1 -1
- package/dist/index.cjs84.js +1 -1
- package/dist/index.cjs84.js.map +1 -1
- package/dist/index.cjs85.js +1 -1
- package/dist/index.cjs85.js.map +1 -1
- package/dist/index.cjs86.js +1 -1
- package/dist/index.cjs86.js.map +1 -1
- package/dist/index.cjs9.js +1 -1
- package/dist/index.esm10.js +2 -2
- package/dist/index.esm11.js +1 -1
- package/dist/index.esm12.js +3 -3
- package/dist/index.esm13.js +1 -1
- package/dist/index.esm14.js +1 -1
- package/dist/index.esm15.js +1 -1
- package/dist/index.esm16.js +1 -1
- package/dist/index.esm18.js +1 -1
- package/dist/index.esm19.js +1 -1
- package/dist/index.esm20.js +1 -1
- package/dist/index.esm21.js +2 -2
- package/dist/index.esm22.js +2 -2
- package/dist/index.esm23.js +1 -1
- package/dist/index.esm24.js +8 -69
- package/dist/index.esm24.js.map +1 -1
- package/dist/index.esm25.js +2 -2
- package/dist/index.esm27.js +1 -1
- package/dist/index.esm28.js +1 -1
- package/dist/index.esm29.js +2 -2
- package/dist/index.esm30.js +1 -1
- package/dist/index.esm31.js +3 -3
- package/dist/index.esm387.js +1 -1
- package/dist/index.esm41.js +1 -1
- package/dist/index.esm413.js +1 -1
- package/dist/index.esm414.js +1 -1
- package/dist/index.esm415.js +1 -1
- package/dist/index.esm416.js +1 -1
- package/dist/index.esm42.js +1 -1
- package/dist/index.esm430.js +1 -1
- package/dist/index.esm432.js +6 -6
- package/dist/index.esm435.js +1 -1
- package/dist/index.esm44.js +32 -40
- package/dist/index.esm44.js.map +1 -1
- package/dist/index.esm445.js +21 -6
- package/dist/index.esm445.js.map +1 -1
- package/dist/index.esm446.js +9 -10
- package/dist/index.esm446.js.map +1 -1
- package/dist/index.esm447.js +38 -7
- package/dist/index.esm447.js.map +1 -1
- package/dist/index.esm448.js +18 -4
- package/dist/index.esm448.js.map +1 -1
- package/dist/index.esm449.js +5 -84
- package/dist/index.esm449.js.map +1 -1
- package/dist/index.esm45.js +11 -47
- package/dist/index.esm450.js +9 -37
- package/dist/index.esm450.js.map +1 -1
- package/dist/index.esm451.js +7 -21
- package/dist/index.esm451.js.map +1 -1
- package/dist/index.esm452.js +4 -9
- package/dist/index.esm452.js.map +1 -1
- package/dist/index.esm453.js +85 -38
- package/dist/index.esm453.js.map +1 -1
- package/dist/index.esm454.js +38 -18
- package/dist/index.esm454.js.map +1 -1
- package/dist/index.esm46.js +30 -11
- package/dist/index.esm46.js.map +1 -1
- package/dist/index.esm47.js +27 -40
- package/dist/index.esm47.js.map +1 -1
- package/dist/index.esm48.js +5 -4
- package/dist/index.esm48.js.map +1 -1
- package/dist/index.esm49.js +2 -6
- package/dist/index.esm49.js.map +1 -1
- package/dist/index.esm50.js +2 -9
- package/dist/index.esm50.js.map +1 -1
- package/dist/index.esm51.js +65 -28
- package/dist/index.esm51.js.map +1 -1
- package/dist/index.esm52.js +29 -2
- package/dist/index.esm52.js.map +1 -1
- package/dist/index.esm53.js +9 -2
- package/dist/index.esm53.js.map +1 -1
- package/dist/index.esm54.js +5 -88
- package/dist/index.esm54.js.map +1 -1
- package/dist/index.esm55.js +47 -35
- package/dist/index.esm55.js.map +1 -1
- package/dist/index.esm56.js +11 -127
- package/dist/index.esm56.js.map +1 -1
- package/dist/index.esm57.js +88 -29
- package/dist/index.esm57.js.map +1 -1
- package/dist/index.esm58.js +34 -64
- package/dist/index.esm58.js.map +1 -1
- package/dist/index.esm59.js +127 -41
- package/dist/index.esm59.js.map +1 -1
- package/dist/index.esm60.js +8 -10
- package/dist/index.esm60.js.map +1 -1
- package/dist/index.esm61.js +28 -17
- package/dist/index.esm61.js.map +1 -1
- package/dist/index.esm62.js +41 -16
- package/dist/index.esm62.js.map +1 -1
- package/dist/index.esm63.js +6 -15
- package/dist/index.esm63.js.map +1 -1
- package/dist/index.esm64.js +8 -96
- package/dist/index.esm64.js.map +1 -1
- package/dist/index.esm65.js +7 -7
- package/dist/index.esm65.js.map +1 -1
- package/dist/index.esm66.js +16 -9
- package/dist/index.esm66.js.map +1 -1
- package/dist/index.esm67.js +97 -7
- package/dist/index.esm67.js.map +1 -1
- package/dist/index.esm69.js +42 -39
- package/dist/index.esm69.js.map +1 -1
- package/dist/index.esm70.js +40 -32
- package/dist/index.esm70.js.map +1 -1
- package/dist/index.esm71.js +36 -8
- package/dist/index.esm71.js.map +1 -1
- package/dist/index.esm72.js +39 -32
- package/dist/index.esm72.js.map +1 -1
- package/dist/index.esm74.js +6 -36
- package/dist/index.esm74.js.map +1 -1
- package/dist/index.esm75.js +8 -10
- package/dist/index.esm75.js.map +1 -1
- package/dist/index.esm76.js +17 -30
- package/dist/index.esm76.js.map +1 -1
- package/dist/index.esm77.js +16 -9
- package/dist/index.esm77.js.map +1 -1
- package/dist/index.esm80.js +4 -55
- package/dist/index.esm80.js.map +1 -1
- package/dist/index.esm81.js +55 -257
- package/dist/index.esm81.js.map +1 -1
- package/dist/index.esm82.js +208 -1637
- package/dist/index.esm82.js.map +1 -1
- package/dist/index.esm83.js +1685 -1413
- package/dist/index.esm83.js.map +1 -1
- package/dist/index.esm84.js +1286 -260
- package/dist/index.esm84.js.map +1 -1
- package/dist/index.esm85.js +387 -5
- package/dist/index.esm85.js.map +1 -1
- package/dist/index.esm86.js +5 -3
- package/dist/index.esm86.js.map +1 -1
- package/dist/index.esm9.js +1 -1
- package/dist/styles.css +1 -1
- package/dist/ui-kit.css +1 -1
- package/package.json +1 -1
package/dist/index.esm82.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.esm82.js","sources":["../node_modules/.pnpm/@shikijs+core@3.22.0/node_modules/@shikijs/core/dist/index.mjs"],"sourcesContent":["import { ShikiError as ShikiError$1 } from '@shikijs/types';\nexport * from '@shikijs/types';\nimport { FontStyle, INITIAL, EncodedTokenMetadata, Registry as Registry$1, Theme } from '@shikijs/vscode-textmate';\nimport { toHtml } from 'hast-util-to-html';\n\nfunction resolveColorReplacements(theme, options) {\n const replacements = typeof theme === \"string\" ? {} : { ...theme.colorReplacements };\n const themeName = typeof theme === \"string\" ? theme : theme.name;\n for (const [key, value] of Object.entries(options?.colorReplacements || {})) {\n if (typeof value === \"string\")\n replacements[key] = value;\n else if (key === themeName)\n Object.assign(replacements, value);\n }\n return replacements;\n}\nfunction applyColorReplacements(color, replacements) {\n if (!color)\n return color;\n return replacements?.[color?.toLowerCase()] || color;\n}\n\nfunction toArray(x) {\n return Array.isArray(x) ? x : [x];\n}\nasync function normalizeGetter(p) {\n return Promise.resolve(typeof p === \"function\" ? p() : p).then((r) => r.default || r);\n}\nfunction isPlainLang(lang) {\n return !lang || [\"plaintext\", \"txt\", \"text\", \"plain\"].includes(lang);\n}\nfunction isSpecialLang(lang) {\n return lang === \"ansi\" || isPlainLang(lang);\n}\nfunction isNoneTheme(theme) {\n return theme === \"none\";\n}\nfunction isSpecialTheme(theme) {\n return isNoneTheme(theme);\n}\n\nfunction addClassToHast(node, className) {\n if (!className)\n return node;\n node.properties ||= {};\n node.properties.class ||= [];\n if (typeof node.properties.class === \"string\")\n node.properties.class = node.properties.class.split(/\\s+/g);\n if (!Array.isArray(node.properties.class))\n node.properties.class = [];\n const targets = Array.isArray(className) ? className : className.split(/\\s+/g);\n for (const c of targets) {\n if (c && !node.properties.class.includes(c))\n node.properties.class.push(c);\n }\n return node;\n}\n\nfunction splitLines(code, preserveEnding = false) {\n if (code.length === 0) {\n return [[\"\", 0]];\n }\n const parts = code.split(/(\\r?\\n)/g);\n let index = 0;\n const lines = [];\n for (let i = 0; i < parts.length; i += 2) {\n const line = preserveEnding ? parts[i] + (parts[i + 1] || \"\") : parts[i];\n lines.push([line, index]);\n index += parts[i].length;\n index += parts[i + 1]?.length || 0;\n }\n return lines;\n}\nfunction createPositionConverter(code) {\n const lines = splitLines(code, true).map(([line]) => line);\n function indexToPos(index) {\n if (index === code.length) {\n return {\n line: lines.length - 1,\n character: lines[lines.length - 1].length\n };\n }\n let character = index;\n let line = 0;\n for (const lineText of lines) {\n if (character < lineText.length)\n break;\n character -= lineText.length;\n line++;\n }\n return { line, character };\n }\n function posToIndex(line, character) {\n let index = 0;\n for (let i = 0; i < line; i++)\n index += lines[i].length;\n index += character;\n return index;\n }\n return {\n lines,\n indexToPos,\n posToIndex\n };\n}\nfunction guessEmbeddedLanguages(code, _lang, highlighter) {\n const langs = /* @__PURE__ */ new Set();\n for (const match of code.matchAll(/:?lang=[\"']([^\"']+)[\"']/g)) {\n const lang = match[1].toLowerCase().trim();\n if (lang)\n langs.add(lang);\n }\n for (const match of code.matchAll(/(?:```|~~~)([\\w-]+)/g)) {\n const lang = match[1].toLowerCase().trim();\n if (lang)\n langs.add(lang);\n }\n for (const match of code.matchAll(/\\\\begin\\{([\\w-]+)\\}/g)) {\n const lang = match[1].toLowerCase().trim();\n if (lang)\n langs.add(lang);\n }\n for (const match of code.matchAll(/<script\\s+(?:type|lang)=[\"']([^\"']+)[\"']/gi)) {\n const fullType = match[1].toLowerCase().trim();\n const lang = fullType.includes(\"/\") ? fullType.split(\"/\").pop() : fullType;\n if (lang)\n langs.add(lang);\n }\n if (!highlighter)\n return Array.from(langs);\n const bundle = highlighter.getBundledLanguages();\n return Array.from(langs).filter((l) => l && bundle[l]);\n}\n\nconst DEFAULT_COLOR_LIGHT_DARK = \"light-dark()\";\nconst COLOR_KEYS = [\"color\", \"background-color\"];\n\nfunction splitToken(token, offsets) {\n let lastOffset = 0;\n const tokens = [];\n for (const offset of offsets) {\n if (offset > lastOffset) {\n tokens.push({\n ...token,\n content: token.content.slice(lastOffset, offset),\n offset: token.offset + lastOffset\n });\n }\n lastOffset = offset;\n }\n if (lastOffset < token.content.length) {\n tokens.push({\n ...token,\n content: token.content.slice(lastOffset),\n offset: token.offset + lastOffset\n });\n }\n return tokens;\n}\nfunction splitTokens(tokens, breakpoints) {\n const sorted = Array.from(breakpoints instanceof Set ? breakpoints : new Set(breakpoints)).sort((a, b) => a - b);\n if (!sorted.length)\n return tokens;\n return tokens.map((line) => {\n return line.flatMap((token) => {\n const breakpointsInToken = sorted.filter((i) => token.offset < i && i < token.offset + token.content.length).map((i) => i - token.offset).sort((a, b) => a - b);\n if (!breakpointsInToken.length)\n return token;\n return splitToken(token, breakpointsInToken);\n });\n });\n}\nfunction flatTokenVariants(merged, variantsOrder, cssVariablePrefix, defaultColor, colorsRendering = \"css-vars\") {\n const token = {\n content: merged.content,\n explanation: merged.explanation,\n offset: merged.offset\n };\n const styles = variantsOrder.map((t) => getTokenStyleObject(merged.variants[t]));\n const styleKeys = new Set(styles.flatMap((t) => Object.keys(t)));\n const mergedStyles = {};\n const varKey = (idx, key) => {\n const keyName = key === \"color\" ? \"\" : key === \"background-color\" ? \"-bg\" : `-${key}`;\n return cssVariablePrefix + variantsOrder[idx] + (key === \"color\" ? \"\" : keyName);\n };\n styles.forEach((cur, idx) => {\n for (const key of styleKeys) {\n const value = cur[key] || \"inherit\";\n if (idx === 0 && defaultColor && COLOR_KEYS.includes(key)) {\n if (defaultColor === DEFAULT_COLOR_LIGHT_DARK && styles.length > 1) {\n const lightIndex = variantsOrder.findIndex((t) => t === \"light\");\n const darkIndex = variantsOrder.findIndex((t) => t === \"dark\");\n if (lightIndex === -1 || darkIndex === -1)\n throw new ShikiError$1('When using `defaultColor: \"light-dark()\"`, you must provide both `light` and `dark` themes');\n const lightValue = styles[lightIndex][key] || \"inherit\";\n const darkValue = styles[darkIndex][key] || \"inherit\";\n mergedStyles[key] = `light-dark(${lightValue}, ${darkValue})`;\n if (colorsRendering === \"css-vars\")\n mergedStyles[varKey(idx, key)] = value;\n } else {\n mergedStyles[key] = value;\n }\n } else {\n if (colorsRendering === \"css-vars\")\n mergedStyles[varKey(idx, key)] = value;\n }\n }\n });\n token.htmlStyle = mergedStyles;\n return token;\n}\nfunction getTokenStyleObject(token) {\n const styles = {};\n if (token.color)\n styles.color = token.color;\n if (token.bgColor)\n styles[\"background-color\"] = token.bgColor;\n if (token.fontStyle) {\n if (token.fontStyle & FontStyle.Italic)\n styles[\"font-style\"] = \"italic\";\n if (token.fontStyle & FontStyle.Bold)\n styles[\"font-weight\"] = \"bold\";\n const decorations = [];\n if (token.fontStyle & FontStyle.Underline)\n decorations.push(\"underline\");\n if (token.fontStyle & FontStyle.Strikethrough)\n decorations.push(\"line-through\");\n if (decorations.length)\n styles[\"text-decoration\"] = decorations.join(\" \");\n }\n return styles;\n}\nfunction stringifyTokenStyle(token) {\n if (typeof token === \"string\")\n return token;\n return Object.entries(token).map(([key, value]) => `${key}:${value}`).join(\";\");\n}\n\nconst _grammarStateMap = /* @__PURE__ */ new WeakMap();\nfunction setLastGrammarStateToMap(keys, state) {\n _grammarStateMap.set(keys, state);\n}\nfunction getLastGrammarStateFromMap(keys) {\n return _grammarStateMap.get(keys);\n}\nclass GrammarState {\n /**\n * Theme to Stack mapping\n */\n _stacks = {};\n lang;\n get themes() {\n return Object.keys(this._stacks);\n }\n get theme() {\n return this.themes[0];\n }\n get _stack() {\n return this._stacks[this.theme];\n }\n /**\n * Static method to create a initial grammar state.\n */\n static initial(lang, themes) {\n return new GrammarState(\n Object.fromEntries(toArray(themes).map((theme) => [theme, INITIAL])),\n lang\n );\n }\n constructor(...args) {\n if (args.length === 2) {\n const [stacksMap, lang] = args;\n this.lang = lang;\n this._stacks = stacksMap;\n } else {\n const [stack, lang, theme] = args;\n this.lang = lang;\n this._stacks = { [theme]: stack };\n }\n }\n /**\n * Get the internal stack object.\n * @internal\n */\n getInternalStack(theme = this.theme) {\n return this._stacks[theme];\n }\n getScopes(theme = this.theme) {\n return getScopes(this._stacks[theme]);\n }\n toJSON() {\n return {\n lang: this.lang,\n theme: this.theme,\n themes: this.themes,\n scopes: this.getScopes()\n };\n }\n}\nfunction getScopes(stack) {\n const scopes = [];\n const visited = /* @__PURE__ */ new Set();\n function pushScope(stack2) {\n if (visited.has(stack2))\n return;\n visited.add(stack2);\n const name = stack2?.nameScopesList?.scopeName;\n if (name)\n scopes.push(name);\n if (stack2.parent)\n pushScope(stack2.parent);\n }\n pushScope(stack);\n return scopes;\n}\nfunction getGrammarStack(state, theme) {\n if (!(state instanceof GrammarState))\n throw new ShikiError$1(\"Invalid grammar state\");\n return state.getInternalStack(theme);\n}\n\nfunction transformerDecorations() {\n const map = /* @__PURE__ */ new WeakMap();\n function getContext(shiki) {\n if (!map.has(shiki.meta)) {\n let normalizePosition = function(p) {\n if (typeof p === \"number\") {\n if (p < 0 || p > shiki.source.length)\n throw new ShikiError$1(`Invalid decoration offset: ${p}. Code length: ${shiki.source.length}`);\n return {\n ...converter.indexToPos(p),\n offset: p\n };\n } else {\n const line = converter.lines[p.line];\n if (line === void 0)\n throw new ShikiError$1(`Invalid decoration position ${JSON.stringify(p)}. Lines length: ${converter.lines.length}`);\n let character = p.character;\n if (character < 0)\n character = line.length + character;\n if (character < 0 || character > line.length)\n throw new ShikiError$1(`Invalid decoration position ${JSON.stringify(p)}. Line ${p.line} length: ${line.length}`);\n return {\n ...p,\n character,\n offset: converter.posToIndex(p.line, character)\n };\n }\n };\n const converter = createPositionConverter(shiki.source);\n const decorations = (shiki.options.decorations || []).map((d) => ({\n ...d,\n start: normalizePosition(d.start),\n end: normalizePosition(d.end)\n }));\n verifyIntersections(decorations);\n map.set(shiki.meta, {\n decorations,\n converter,\n source: shiki.source\n });\n }\n return map.get(shiki.meta);\n }\n return {\n name: \"shiki:decorations\",\n tokens(tokens) {\n if (!this.options.decorations?.length)\n return;\n const ctx = getContext(this);\n const breakpoints = ctx.decorations.flatMap((d) => [d.start.offset, d.end.offset]);\n const splitted = splitTokens(tokens, breakpoints);\n return splitted;\n },\n code(codeEl) {\n if (!this.options.decorations?.length)\n return;\n const ctx = getContext(this);\n const lines = Array.from(codeEl.children).filter((i) => i.type === \"element\" && i.tagName === \"span\");\n if (lines.length !== ctx.converter.lines.length)\n 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 function applyLineSection(line, start, end, decoration) {\n const lineEl = lines[line];\n let text = \"\";\n let startIndex = -1;\n let endIndex = -1;\n if (start === 0)\n startIndex = 0;\n if (end === 0)\n endIndex = 0;\n if (end === Number.POSITIVE_INFINITY)\n endIndex = lineEl.children.length;\n if (startIndex === -1 || endIndex === -1) {\n for (let i = 0; i < lineEl.children.length; i++) {\n text += stringify(lineEl.children[i]);\n if (startIndex === -1 && text.length === start)\n startIndex = i + 1;\n if (endIndex === -1 && text.length === end)\n endIndex = i + 1;\n }\n }\n if (startIndex === -1)\n throw new ShikiError$1(`Failed to find start index for decoration ${JSON.stringify(decoration.start)}`);\n if (endIndex === -1)\n throw new ShikiError$1(`Failed to find end index for decoration ${JSON.stringify(decoration.end)}`);\n const children = lineEl.children.slice(startIndex, endIndex);\n if (!decoration.alwaysWrap && children.length === lineEl.children.length) {\n applyDecoration(lineEl, decoration, \"line\");\n } else if (!decoration.alwaysWrap && children.length === 1 && children[0].type === \"element\") {\n applyDecoration(children[0], decoration, \"token\");\n } else {\n const wrapper = {\n type: \"element\",\n tagName: \"span\",\n properties: {},\n children\n };\n applyDecoration(wrapper, decoration, \"wrapper\");\n lineEl.children.splice(startIndex, children.length, wrapper);\n }\n }\n function applyLine(line, decoration) {\n lines[line] = applyDecoration(lines[line], decoration, \"line\");\n }\n function applyDecoration(el, decoration, type) {\n const properties = decoration.properties || {};\n const transform = decoration.transform || ((i) => i);\n el.tagName = decoration.tagName || \"span\";\n el.properties = {\n ...el.properties,\n ...properties,\n class: el.properties.class\n };\n if (decoration.properties?.class)\n addClassToHast(el, decoration.properties.class);\n el = transform(el, type) || el;\n return el;\n }\n const lineApplies = [];\n const sorted = ctx.decorations.sort((a, b) => b.start.offset - a.start.offset || a.end.offset - b.end.offset);\n for (const decoration of sorted) {\n const { start, end } = decoration;\n if (start.line === end.line) {\n applyLineSection(start.line, start.character, end.character, decoration);\n } else if (start.line < end.line) {\n applyLineSection(start.line, start.character, Number.POSITIVE_INFINITY, decoration);\n for (let i = start.line + 1; i < end.line; i++)\n lineApplies.unshift(() => applyLine(i, decoration));\n applyLineSection(end.line, 0, end.character, decoration);\n }\n }\n lineApplies.forEach((i) => i());\n }\n };\n}\nfunction verifyIntersections(items) {\n for (let i = 0; i < items.length; i++) {\n const foo = items[i];\n if (foo.start.offset > foo.end.offset)\n throw new ShikiError$1(`Invalid decoration range: ${JSON.stringify(foo.start)} - ${JSON.stringify(foo.end)}`);\n for (let j = i + 1; j < items.length; j++) {\n const bar = items[j];\n const isFooHasBarStart = foo.start.offset <= bar.start.offset && bar.start.offset < foo.end.offset;\n const isFooHasBarEnd = foo.start.offset < bar.end.offset && bar.end.offset <= foo.end.offset;\n const isBarHasFooStart = bar.start.offset <= foo.start.offset && foo.start.offset < bar.end.offset;\n const isBarHasFooEnd = bar.start.offset < foo.end.offset && foo.end.offset <= bar.end.offset;\n if (isFooHasBarStart || isFooHasBarEnd || isBarHasFooStart || isBarHasFooEnd) {\n if (isFooHasBarStart && isFooHasBarEnd)\n continue;\n if (isBarHasFooStart && isBarHasFooEnd)\n continue;\n if (isBarHasFooStart && foo.start.offset === foo.end.offset)\n continue;\n if (isFooHasBarEnd && bar.start.offset === bar.end.offset)\n continue;\n throw new ShikiError$1(`Decorations ${JSON.stringify(foo.start)} and ${JSON.stringify(bar.start)} intersect.`);\n }\n }\n }\n}\nfunction stringify(el) {\n if (el.type === \"text\")\n return el.value;\n if (el.type === \"element\")\n return el.children.map(stringify).join(\"\");\n return \"\";\n}\n\nconst builtInTransformers = [\n /* @__PURE__ */ transformerDecorations()\n];\nfunction getTransformers(options) {\n const transformers = sortTransformersByEnforcement(options.transformers || []);\n return [\n ...transformers.pre,\n ...transformers.normal,\n ...transformers.post,\n ...builtInTransformers\n ];\n}\nfunction sortTransformersByEnforcement(transformers) {\n const pre = [];\n const post = [];\n const normal = [];\n for (const transformer of transformers) {\n switch (transformer.enforce) {\n case \"pre\":\n pre.push(transformer);\n break;\n case \"post\":\n post.push(transformer);\n break;\n default:\n normal.push(transformer);\n }\n }\n return { pre, post, normal };\n}\n\n// src/colors.ts\nvar namedColors = [\n \"black\",\n \"red\",\n \"green\",\n \"yellow\",\n \"blue\",\n \"magenta\",\n \"cyan\",\n \"white\",\n \"brightBlack\",\n \"brightRed\",\n \"brightGreen\",\n \"brightYellow\",\n \"brightBlue\",\n \"brightMagenta\",\n \"brightCyan\",\n \"brightWhite\"\n];\n\n// src/decorations.ts\nvar decorations = {\n 1: \"bold\",\n 2: \"dim\",\n 3: \"italic\",\n 4: \"underline\",\n 7: \"reverse\",\n 8: \"hidden\",\n 9: \"strikethrough\"\n};\n\n// src/parser.ts\nfunction findSequence(value, position) {\n const nextEscape = value.indexOf(\"\\x1B\", position);\n if (nextEscape !== -1) {\n if (value[nextEscape + 1] === \"[\") {\n const nextClose = value.indexOf(\"m\", nextEscape);\n if (nextClose !== -1) {\n return {\n sequence: value.substring(nextEscape + 2, nextClose).split(\";\"),\n startPosition: nextEscape,\n position: nextClose + 1\n };\n }\n }\n }\n return {\n position: value.length\n };\n}\nfunction parseColor(sequence) {\n const colorMode = sequence.shift();\n if (colorMode === \"2\") {\n const rgb = sequence.splice(0, 3).map((x) => Number.parseInt(x));\n if (rgb.length !== 3 || rgb.some((x) => Number.isNaN(x)))\n return;\n return {\n type: \"rgb\",\n rgb\n };\n } else if (colorMode === \"5\") {\n const index = sequence.shift();\n if (index) {\n return { type: \"table\", index: Number(index) };\n }\n }\n}\nfunction parseSequence(sequence) {\n const commands = [];\n while (sequence.length > 0) {\n const code = sequence.shift();\n if (!code)\n continue;\n const codeInt = Number.parseInt(code);\n if (Number.isNaN(codeInt))\n continue;\n if (codeInt === 0) {\n commands.push({ type: \"resetAll\" });\n } else if (codeInt <= 9) {\n const decoration = decorations[codeInt];\n if (decoration) {\n commands.push({\n type: \"setDecoration\",\n value: decorations[codeInt]\n });\n }\n } else if (codeInt <= 29) {\n const decoration = decorations[codeInt - 20];\n if (decoration) {\n commands.push({\n type: \"resetDecoration\",\n value: decoration\n });\n if (decoration === \"dim\") {\n commands.push({\n type: \"resetDecoration\",\n value: \"bold\"\n });\n }\n }\n } else if (codeInt <= 37) {\n commands.push({\n type: \"setForegroundColor\",\n value: { type: \"named\", name: namedColors[codeInt - 30] }\n });\n } else if (codeInt === 38) {\n const color = parseColor(sequence);\n if (color) {\n commands.push({\n type: \"setForegroundColor\",\n value: color\n });\n }\n } else if (codeInt === 39) {\n commands.push({\n type: \"resetForegroundColor\"\n });\n } else if (codeInt <= 47) {\n commands.push({\n type: \"setBackgroundColor\",\n value: { type: \"named\", name: namedColors[codeInt - 40] }\n });\n } else if (codeInt === 48) {\n const color = parseColor(sequence);\n if (color) {\n commands.push({\n type: \"setBackgroundColor\",\n value: color\n });\n }\n } else if (codeInt === 49) {\n commands.push({\n type: \"resetBackgroundColor\"\n });\n } else if (codeInt === 53) {\n commands.push({\n type: \"setDecoration\",\n value: \"overline\"\n });\n } else if (codeInt === 55) {\n commands.push({\n type: \"resetDecoration\",\n value: \"overline\"\n });\n } else if (codeInt >= 90 && codeInt <= 97) {\n commands.push({\n type: \"setForegroundColor\",\n value: { type: \"named\", name: namedColors[codeInt - 90 + 8] }\n });\n } else if (codeInt >= 100 && codeInt <= 107) {\n commands.push({\n type: \"setBackgroundColor\",\n value: { type: \"named\", name: namedColors[codeInt - 100 + 8] }\n });\n }\n }\n return commands;\n}\nfunction createAnsiSequenceParser() {\n let foreground = null;\n let background = null;\n let decorations2 = /* @__PURE__ */ new Set();\n return {\n parse(value) {\n const tokens = [];\n let position = 0;\n do {\n const findResult = findSequence(value, position);\n const text = findResult.sequence ? value.substring(position, findResult.startPosition) : value.substring(position);\n if (text.length > 0) {\n tokens.push({\n value: text,\n foreground,\n background,\n decorations: new Set(decorations2)\n });\n }\n if (findResult.sequence) {\n const commands = parseSequence(findResult.sequence);\n for (const styleToken of commands) {\n if (styleToken.type === \"resetAll\") {\n foreground = null;\n background = null;\n decorations2.clear();\n } else if (styleToken.type === \"resetForegroundColor\") {\n foreground = null;\n } else if (styleToken.type === \"resetBackgroundColor\") {\n background = null;\n } else if (styleToken.type === \"resetDecoration\") {\n decorations2.delete(styleToken.value);\n }\n }\n for (const styleToken of commands) {\n if (styleToken.type === \"setForegroundColor\") {\n foreground = styleToken.value;\n } else if (styleToken.type === \"setBackgroundColor\") {\n background = styleToken.value;\n } else if (styleToken.type === \"setDecoration\") {\n decorations2.add(styleToken.value);\n }\n }\n }\n position = findResult.position;\n } while (position < value.length);\n return tokens;\n }\n };\n}\n\n// src/palette.ts\nvar defaultNamedColorsMap = {\n black: \"#000000\",\n red: \"#bb0000\",\n green: \"#00bb00\",\n yellow: \"#bbbb00\",\n blue: \"#0000bb\",\n magenta: \"#ff00ff\",\n cyan: \"#00bbbb\",\n white: \"#eeeeee\",\n brightBlack: \"#555555\",\n brightRed: \"#ff5555\",\n brightGreen: \"#00ff00\",\n brightYellow: \"#ffff55\",\n brightBlue: \"#5555ff\",\n brightMagenta: \"#ff55ff\",\n brightCyan: \"#55ffff\",\n brightWhite: \"#ffffff\"\n};\nfunction createColorPalette(namedColorsMap = defaultNamedColorsMap) {\n function namedColor(name) {\n return namedColorsMap[name];\n }\n function rgbColor(rgb) {\n return `#${rgb.map((x) => Math.max(0, Math.min(x, 255)).toString(16).padStart(2, \"0\")).join(\"\")}`;\n }\n let colorTable;\n function getColorTable() {\n if (colorTable) {\n return colorTable;\n }\n colorTable = [];\n for (let i = 0; i < namedColors.length; i++) {\n colorTable.push(namedColor(namedColors[i]));\n }\n let levels = [0, 95, 135, 175, 215, 255];\n for (let r = 0; r < 6; r++) {\n for (let g = 0; g < 6; g++) {\n for (let b = 0; b < 6; b++) {\n colorTable.push(rgbColor([levels[r], levels[g], levels[b]]));\n }\n }\n }\n let level = 8;\n for (let i = 0; i < 24; i++, level += 10) {\n colorTable.push(rgbColor([level, level, level]));\n }\n return colorTable;\n }\n function tableColor(index) {\n return getColorTable()[index];\n }\n function value(color) {\n switch (color.type) {\n case \"named\":\n return namedColor(color.name);\n case \"rgb\":\n return rgbColor(color.rgb);\n case \"table\":\n return tableColor(color.index);\n }\n }\n return {\n value\n };\n}\n\nconst defaultAnsiColors = {\n black: \"#000000\",\n red: \"#cd3131\",\n green: \"#0DBC79\",\n yellow: \"#E5E510\",\n blue: \"#2472C8\",\n magenta: \"#BC3FBC\",\n cyan: \"#11A8CD\",\n white: \"#E5E5E5\",\n brightBlack: \"#666666\",\n brightRed: \"#F14C4C\",\n brightGreen: \"#23D18B\",\n brightYellow: \"#F5F543\",\n brightBlue: \"#3B8EEA\",\n brightMagenta: \"#D670D6\",\n brightCyan: \"#29B8DB\",\n brightWhite: \"#FFFFFF\"\n};\nfunction tokenizeAnsiWithTheme(theme, fileContents, options) {\n const colorReplacements = resolveColorReplacements(theme, options);\n const lines = splitLines(fileContents);\n const ansiPalette = Object.fromEntries(\n namedColors.map((name) => {\n const key = `terminal.ansi${name[0].toUpperCase()}${name.substring(1)}`;\n const themeColor = theme.colors?.[key];\n return [name, themeColor || defaultAnsiColors[name]];\n })\n );\n const colorPalette = createColorPalette(ansiPalette);\n const parser = createAnsiSequenceParser();\n return lines.map(\n (line) => parser.parse(line[0]).map((token) => {\n let color;\n let bgColor;\n if (token.decorations.has(\"reverse\")) {\n color = token.background ? colorPalette.value(token.background) : theme.bg;\n bgColor = token.foreground ? colorPalette.value(token.foreground) : theme.fg;\n } else {\n color = token.foreground ? colorPalette.value(token.foreground) : theme.fg;\n bgColor = token.background ? colorPalette.value(token.background) : void 0;\n }\n color = applyColorReplacements(color, colorReplacements);\n bgColor = applyColorReplacements(bgColor, colorReplacements);\n if (token.decorations.has(\"dim\"))\n color = dimColor(color);\n let fontStyle = FontStyle.None;\n if (token.decorations.has(\"bold\"))\n fontStyle |= FontStyle.Bold;\n if (token.decorations.has(\"italic\"))\n fontStyle |= FontStyle.Italic;\n if (token.decorations.has(\"underline\"))\n fontStyle |= FontStyle.Underline;\n if (token.decorations.has(\"strikethrough\"))\n fontStyle |= FontStyle.Strikethrough;\n return {\n content: token.value,\n offset: line[1],\n // TODO: more accurate offset? might need to fork ansi-sequence-parser\n color,\n bgColor,\n fontStyle\n };\n })\n );\n}\nfunction dimColor(color) {\n const hexMatch = color.match(/#([0-9a-f]{3,8})/i);\n if (hexMatch) {\n const hex = hexMatch[1];\n if (hex.length === 8) {\n const alpha = Math.round(Number.parseInt(hex.slice(6, 8), 16) / 2).toString(16).padStart(2, \"0\");\n return `#${hex.slice(0, 6)}${alpha}`;\n } else if (hex.length === 6) {\n return `#${hex}80`;\n } else if (hex.length === 4) {\n const r = hex[0];\n const g = hex[1];\n const b = hex[2];\n const a = hex[3];\n const alpha = Math.round(Number.parseInt(`${a}${a}`, 16) / 2).toString(16).padStart(2, \"0\");\n return `#${r}${r}${g}${g}${b}${b}${alpha}`;\n } else if (hex.length === 3) {\n const r = hex[0];\n const g = hex[1];\n const b = hex[2];\n return `#${r}${r}${g}${g}${b}${b}80`;\n }\n }\n const cssVarMatch = color.match(/var\\((--[\\w-]+-ansi-[\\w-]+)\\)/);\n if (cssVarMatch)\n return `var(${cssVarMatch[1]}-dim)`;\n return color;\n}\n\nfunction codeToTokensBase(internal, code, options = {}) {\n const {\n theme: themeName = internal.getLoadedThemes()[0]\n } = options;\n const lang = internal.resolveLangAlias(options.lang || \"text\");\n if (isPlainLang(lang) || isNoneTheme(themeName))\n return splitLines(code).map((line) => [{ content: line[0], offset: line[1] }]);\n const { theme, colorMap } = internal.setTheme(themeName);\n if (lang === \"ansi\")\n return tokenizeAnsiWithTheme(theme, code, options);\n const _grammar = internal.getLanguage(options.lang || \"text\");\n if (options.grammarState) {\n if (options.grammarState.lang !== _grammar.name) {\n throw new ShikiError$1(`Grammar state language \"${options.grammarState.lang}\" does not match highlight language \"${_grammar.name}\"`);\n }\n if (!options.grammarState.themes.includes(theme.name)) {\n throw new ShikiError$1(`Grammar state themes \"${options.grammarState.themes}\" do not contain highlight theme \"${theme.name}\"`);\n }\n }\n return tokenizeWithTheme(code, _grammar, theme, colorMap, options);\n}\nfunction getLastGrammarState(...args) {\n if (args.length === 2) {\n return getLastGrammarStateFromMap(args[1]);\n }\n const [internal, code, options = {}] = args;\n const {\n lang = \"text\",\n theme: themeName = internal.getLoadedThemes()[0]\n } = options;\n if (isPlainLang(lang) || isNoneTheme(themeName))\n throw new ShikiError$1(\"Plain language does not have grammar state\");\n if (lang === \"ansi\")\n throw new ShikiError$1(\"ANSI language does not have grammar state\");\n const { theme, colorMap } = internal.setTheme(themeName);\n const _grammar = internal.getLanguage(lang);\n return new GrammarState(\n _tokenizeWithTheme(code, _grammar, theme, colorMap, options).stateStack,\n _grammar.name,\n theme.name\n );\n}\nfunction tokenizeWithTheme(code, grammar, theme, colorMap, options) {\n const result = _tokenizeWithTheme(code, grammar, theme, colorMap, options);\n const grammarState = new GrammarState(\n result.stateStack,\n grammar.name,\n theme.name\n );\n setLastGrammarStateToMap(result.tokens, grammarState);\n return result.tokens;\n}\nfunction _tokenizeWithTheme(code, grammar, theme, colorMap, options) {\n const colorReplacements = resolveColorReplacements(theme, options);\n const {\n tokenizeMaxLineLength = 0,\n tokenizeTimeLimit = 500\n } = options;\n const lines = splitLines(code);\n let stateStack = options.grammarState ? getGrammarStack(options.grammarState, theme.name) ?? INITIAL : options.grammarContextCode != null ? _tokenizeWithTheme(\n options.grammarContextCode,\n grammar,\n theme,\n colorMap,\n {\n ...options,\n grammarState: void 0,\n grammarContextCode: void 0\n }\n ).stateStack : INITIAL;\n let actual = [];\n const final = [];\n for (let i = 0, len = lines.length; i < len; i++) {\n const [line, lineOffset] = lines[i];\n if (line === \"\") {\n actual = [];\n final.push([]);\n continue;\n }\n if (tokenizeMaxLineLength > 0 && line.length >= tokenizeMaxLineLength) {\n actual = [];\n final.push([{\n content: line,\n offset: lineOffset,\n color: \"\",\n fontStyle: 0\n }]);\n continue;\n }\n let resultWithScopes;\n let tokensWithScopes;\n let tokensWithScopesIndex;\n if (options.includeExplanation) {\n resultWithScopes = grammar.tokenizeLine(line, stateStack, tokenizeTimeLimit);\n tokensWithScopes = resultWithScopes.tokens;\n tokensWithScopesIndex = 0;\n }\n const result = grammar.tokenizeLine2(line, stateStack, tokenizeTimeLimit);\n const tokensLength = result.tokens.length / 2;\n for (let j = 0; j < tokensLength; j++) {\n const startIndex = result.tokens[2 * j];\n const nextStartIndex = j + 1 < tokensLength ? result.tokens[2 * j + 2] : line.length;\n if (startIndex === nextStartIndex)\n continue;\n const metadata = result.tokens[2 * j + 1];\n const color = applyColorReplacements(\n colorMap[EncodedTokenMetadata.getForeground(metadata)],\n colorReplacements\n );\n const fontStyle = EncodedTokenMetadata.getFontStyle(metadata);\n const token = {\n content: line.substring(startIndex, nextStartIndex),\n offset: lineOffset + startIndex,\n color,\n fontStyle\n };\n if (options.includeExplanation) {\n const themeSettingsSelectors = [];\n if (options.includeExplanation !== \"scopeName\") {\n for (const setting of theme.settings) {\n let selectors;\n switch (typeof setting.scope) {\n case \"string\":\n selectors = setting.scope.split(/,/).map((scope) => scope.trim());\n break;\n case \"object\":\n selectors = setting.scope;\n break;\n default:\n continue;\n }\n themeSettingsSelectors.push({\n settings: setting,\n selectors: selectors.map((selector) => selector.split(/ /))\n });\n }\n }\n token.explanation = [];\n let offset = 0;\n while (startIndex + offset < nextStartIndex) {\n const tokenWithScopes = tokensWithScopes[tokensWithScopesIndex];\n const tokenWithScopesText = line.substring(\n tokenWithScopes.startIndex,\n tokenWithScopes.endIndex\n );\n offset += tokenWithScopesText.length;\n token.explanation.push({\n content: tokenWithScopesText,\n scopes: options.includeExplanation === \"scopeName\" ? explainThemeScopesNameOnly(\n tokenWithScopes.scopes\n ) : explainThemeScopesFull(\n themeSettingsSelectors,\n tokenWithScopes.scopes\n )\n });\n tokensWithScopesIndex += 1;\n }\n }\n actual.push(token);\n }\n final.push(actual);\n actual = [];\n stateStack = result.ruleStack;\n }\n return {\n tokens: final,\n stateStack\n };\n}\nfunction explainThemeScopesNameOnly(scopes) {\n return scopes.map((scope) => ({ scopeName: scope }));\n}\nfunction explainThemeScopesFull(themeSelectors, scopes) {\n const result = [];\n for (let i = 0, len = scopes.length; i < len; i++) {\n const scope = scopes[i];\n result[i] = {\n scopeName: scope,\n themeMatches: explainThemeScope(themeSelectors, scope, scopes.slice(0, i))\n };\n }\n return result;\n}\nfunction matchesOne(selector, scope) {\n return selector === scope || scope.substring(0, selector.length) === selector && scope[selector.length] === \".\";\n}\nfunction matches(selectors, scope, parentScopes) {\n if (!matchesOne(selectors[selectors.length - 1], scope))\n return false;\n let selectorParentIndex = selectors.length - 2;\n let parentIndex = parentScopes.length - 1;\n while (selectorParentIndex >= 0 && parentIndex >= 0) {\n if (matchesOne(selectors[selectorParentIndex], parentScopes[parentIndex]))\n selectorParentIndex -= 1;\n parentIndex -= 1;\n }\n if (selectorParentIndex === -1)\n return true;\n return false;\n}\nfunction explainThemeScope(themeSettingsSelectors, scope, parentScopes) {\n const result = [];\n for (const { selectors, settings } of themeSettingsSelectors) {\n for (const selectorPieces of selectors) {\n if (matches(selectorPieces, scope, parentScopes)) {\n result.push(settings);\n break;\n }\n }\n }\n return result;\n}\n\nfunction codeToTokensWithThemes(internal, code, options) {\n const themes = Object.entries(options.themes).filter((i) => i[1]).map((i) => ({ color: i[0], theme: i[1] }));\n const themedTokens = themes.map((t) => {\n const tokens2 = codeToTokensBase(internal, code, {\n ...options,\n theme: t.theme\n });\n const state = getLastGrammarStateFromMap(tokens2);\n const theme = typeof t.theme === \"string\" ? t.theme : t.theme.name;\n return {\n tokens: tokens2,\n state,\n theme\n };\n });\n const tokens = syncThemesTokenization(\n ...themedTokens.map((i) => i.tokens)\n );\n const mergedTokens = tokens[0].map(\n (line, lineIdx) => line.map((_token, tokenIdx) => {\n const mergedToken = {\n content: _token.content,\n variants: {},\n offset: _token.offset\n };\n if (\"includeExplanation\" in options && options.includeExplanation) {\n mergedToken.explanation = _token.explanation;\n }\n tokens.forEach((t, themeIdx) => {\n const {\n content: _,\n explanation: __,\n offset: ___,\n ...styles\n } = t[lineIdx][tokenIdx];\n mergedToken.variants[themes[themeIdx].color] = styles;\n });\n return mergedToken;\n })\n );\n const mergedGrammarState = themedTokens[0].state ? new GrammarState(\n Object.fromEntries(themedTokens.map((s) => [s.theme, s.state?.getInternalStack(s.theme)])),\n themedTokens[0].state.lang\n ) : void 0;\n if (mergedGrammarState)\n setLastGrammarStateToMap(mergedTokens, mergedGrammarState);\n return mergedTokens;\n}\nfunction syncThemesTokenization(...themes) {\n const outThemes = themes.map(() => []);\n const count = themes.length;\n for (let i = 0; i < themes[0].length; i++) {\n const lines = themes.map((t) => t[i]);\n const outLines = outThemes.map(() => []);\n outThemes.forEach((t, i2) => t.push(outLines[i2]));\n const indexes = lines.map(() => 0);\n const current = lines.map((l) => l[0]);\n while (current.every((t) => t)) {\n const minLength = Math.min(...current.map((t) => t.content.length));\n for (let n = 0; n < count; n++) {\n const token = current[n];\n if (token.content.length === minLength) {\n outLines[n].push(token);\n indexes[n] += 1;\n current[n] = lines[n][indexes[n]];\n } else {\n outLines[n].push({\n ...token,\n content: token.content.slice(0, minLength)\n });\n current[n] = {\n ...token,\n content: token.content.slice(minLength),\n offset: token.offset + minLength\n };\n }\n }\n }\n }\n return outThemes;\n}\n\nfunction codeToTokens(internal, code, options) {\n let bg;\n let fg;\n let tokens;\n let themeName;\n let rootStyle;\n let grammarState;\n if (\"themes\" in options) {\n const {\n defaultColor = \"light\",\n cssVariablePrefix = \"--shiki-\",\n colorsRendering = \"css-vars\"\n } = options;\n const themes = Object.entries(options.themes).filter((i) => i[1]).map((i) => ({ color: i[0], theme: i[1] })).sort((a, b) => a.color === defaultColor ? -1 : b.color === defaultColor ? 1 : 0);\n if (themes.length === 0)\n throw new ShikiError$1(\"`themes` option must not be empty\");\n const themeTokens = codeToTokensWithThemes(\n internal,\n code,\n options\n );\n grammarState = getLastGrammarStateFromMap(themeTokens);\n if (defaultColor && DEFAULT_COLOR_LIGHT_DARK !== defaultColor && !themes.find((t) => t.color === defaultColor))\n throw new ShikiError$1(`\\`themes\\` option must contain the defaultColor key \\`${defaultColor}\\``);\n const themeRegs = themes.map((t) => internal.getTheme(t.theme));\n const themesOrder = themes.map((t) => t.color);\n tokens = themeTokens.map((line) => line.map((token) => flatTokenVariants(token, themesOrder, cssVariablePrefix, defaultColor, colorsRendering)));\n if (grammarState)\n setLastGrammarStateToMap(tokens, grammarState);\n const themeColorReplacements = themes.map((t) => resolveColorReplacements(t.theme, options));\n fg = mapThemeColors(themes, themeRegs, themeColorReplacements, cssVariablePrefix, defaultColor, \"fg\", colorsRendering);\n bg = mapThemeColors(themes, themeRegs, themeColorReplacements, cssVariablePrefix, defaultColor, \"bg\", colorsRendering);\n themeName = `shiki-themes ${themeRegs.map((t) => t.name).join(\" \")}`;\n rootStyle = defaultColor ? void 0 : [fg, bg].join(\";\");\n } else if (\"theme\" in options) {\n const colorReplacements = resolveColorReplacements(options.theme, options);\n tokens = codeToTokensBase(\n internal,\n code,\n options\n );\n const _theme = internal.getTheme(options.theme);\n bg = applyColorReplacements(_theme.bg, colorReplacements);\n fg = applyColorReplacements(_theme.fg, colorReplacements);\n themeName = _theme.name;\n grammarState = getLastGrammarStateFromMap(tokens);\n } else {\n throw new ShikiError$1(\"Invalid options, either `theme` or `themes` must be provided\");\n }\n return {\n tokens,\n fg,\n bg,\n themeName,\n rootStyle,\n grammarState\n };\n}\nfunction mapThemeColors(themes, themeRegs, themeColorReplacements, cssVariablePrefix, defaultColor, property, colorsRendering) {\n return themes.map((t, idx) => {\n const value = applyColorReplacements(themeRegs[idx][property], themeColorReplacements[idx]) || \"inherit\";\n const cssVar = `${cssVariablePrefix + t.color}${property === \"bg\" ? \"-bg\" : \"\"}:${value}`;\n if (idx === 0 && defaultColor) {\n if (defaultColor === DEFAULT_COLOR_LIGHT_DARK && themes.length > 1) {\n const lightIndex = themes.findIndex((t2) => t2.color === \"light\");\n const darkIndex = themes.findIndex((t2) => t2.color === \"dark\");\n if (lightIndex === -1 || darkIndex === -1)\n throw new ShikiError$1('When using `defaultColor: \"light-dark()\"`, you must provide both `light` and `dark` themes');\n const lightValue = applyColorReplacements(themeRegs[lightIndex][property], themeColorReplacements[lightIndex]) || \"inherit\";\n const darkValue = applyColorReplacements(themeRegs[darkIndex][property], themeColorReplacements[darkIndex]) || \"inherit\";\n return `light-dark(${lightValue}, ${darkValue});${cssVar}`;\n }\n return value;\n }\n if (colorsRendering === \"css-vars\") {\n return cssVar;\n }\n return null;\n }).filter((i) => !!i).join(\";\");\n}\n\nfunction codeToHast(internal, code, options, transformerContext = {\n meta: {},\n options,\n codeToHast: (_code, _options) => codeToHast(internal, _code, _options),\n codeToTokens: (_code, _options) => codeToTokens(internal, _code, _options)\n}) {\n let input = code;\n for (const transformer of getTransformers(options))\n input = transformer.preprocess?.call(transformerContext, input, options) || input;\n let {\n tokens,\n fg,\n bg,\n themeName,\n rootStyle,\n grammarState\n } = codeToTokens(internal, input, options);\n const {\n mergeWhitespaces = true,\n mergeSameStyleTokens = false\n } = options;\n if (mergeWhitespaces === true)\n tokens = mergeWhitespaceTokens(tokens);\n else if (mergeWhitespaces === \"never\")\n tokens = splitWhitespaceTokens(tokens);\n if (mergeSameStyleTokens) {\n tokens = mergeAdjacentStyledTokens(tokens);\n }\n const contextSource = {\n ...transformerContext,\n get source() {\n return input;\n }\n };\n for (const transformer of getTransformers(options))\n tokens = transformer.tokens?.call(contextSource, tokens) || tokens;\n return tokensToHast(\n tokens,\n {\n ...options,\n fg,\n bg,\n themeName,\n rootStyle: options.rootStyle === false ? false : options.rootStyle ?? rootStyle\n },\n contextSource,\n grammarState\n );\n}\nfunction tokensToHast(tokens, options, transformerContext, grammarState = getLastGrammarStateFromMap(tokens)) {\n const transformers = getTransformers(options);\n const lines = [];\n const root = {\n type: \"root\",\n children: []\n };\n const {\n structure = \"classic\",\n tabindex = \"0\"\n } = options;\n const properties = {\n class: `shiki ${options.themeName || \"\"}`\n };\n if (options.rootStyle !== false) {\n if (options.rootStyle != null)\n properties.style = options.rootStyle;\n else\n properties.style = `background-color:${options.bg};color:${options.fg}`;\n }\n if (tabindex !== false && tabindex != null)\n properties.tabindex = tabindex.toString();\n for (const [key, value] of Object.entries(options.meta || {})) {\n if (!key.startsWith(\"_\"))\n properties[key] = value;\n }\n let preNode = {\n type: \"element\",\n tagName: \"pre\",\n properties,\n children: [],\n data: options.data\n };\n let codeNode = {\n type: \"element\",\n tagName: \"code\",\n properties: {},\n children: lines\n };\n const lineNodes = [];\n const context = {\n ...transformerContext,\n structure,\n addClassToHast,\n get source() {\n return transformerContext.source;\n },\n get tokens() {\n return tokens;\n },\n get options() {\n return options;\n },\n get root() {\n return root;\n },\n get pre() {\n return preNode;\n },\n get code() {\n return codeNode;\n },\n get lines() {\n return lineNodes;\n }\n };\n tokens.forEach((line, idx) => {\n if (idx) {\n if (structure === \"inline\")\n root.children.push({ type: \"element\", tagName: \"br\", properties: {}, children: [] });\n else if (structure === \"classic\")\n lines.push({ type: \"text\", value: \"\\n\" });\n }\n let lineNode = {\n type: \"element\",\n tagName: \"span\",\n properties: { class: \"line\" },\n children: []\n };\n let col = 0;\n for (const token of line) {\n let tokenNode = {\n type: \"element\",\n tagName: \"span\",\n properties: {\n ...token.htmlAttrs\n },\n children: [{ type: \"text\", value: token.content }]\n };\n const style = stringifyTokenStyle(token.htmlStyle || getTokenStyleObject(token));\n if (style)\n tokenNode.properties.style = style;\n for (const transformer of transformers)\n tokenNode = transformer?.span?.call(context, tokenNode, idx + 1, col, lineNode, token) || tokenNode;\n if (structure === \"inline\")\n root.children.push(tokenNode);\n else if (structure === \"classic\")\n lineNode.children.push(tokenNode);\n col += token.content.length;\n }\n if (structure === \"classic\") {\n for (const transformer of transformers)\n lineNode = transformer?.line?.call(context, lineNode, idx + 1) || lineNode;\n lineNodes.push(lineNode);\n lines.push(lineNode);\n } else if (structure === \"inline\") {\n lineNodes.push(lineNode);\n }\n });\n if (structure === \"classic\") {\n for (const transformer of transformers)\n codeNode = transformer?.code?.call(context, codeNode) || codeNode;\n preNode.children.push(codeNode);\n for (const transformer of transformers)\n preNode = transformer?.pre?.call(context, preNode) || preNode;\n root.children.push(preNode);\n } else if (structure === \"inline\") {\n const syntheticLines = [];\n let currentLine = {\n type: \"element\",\n tagName: \"span\",\n properties: { class: \"line\" },\n children: []\n };\n for (const child of root.children) {\n if (child.type === \"element\" && child.tagName === \"br\") {\n syntheticLines.push(currentLine);\n currentLine = {\n type: \"element\",\n tagName: \"span\",\n properties: { class: \"line\" },\n children: []\n };\n } else if (child.type === \"element\" || child.type === \"text\") {\n currentLine.children.push(child);\n }\n }\n syntheticLines.push(currentLine);\n const syntheticCode = {\n type: \"element\",\n tagName: \"code\",\n properties: {},\n children: syntheticLines\n };\n let transformedCode = syntheticCode;\n for (const transformer of transformers)\n transformedCode = transformer?.code?.call(context, transformedCode) || transformedCode;\n root.children = [];\n for (let i = 0; i < transformedCode.children.length; i++) {\n if (i > 0)\n root.children.push({ type: \"element\", tagName: \"br\", properties: {}, children: [] });\n const line = transformedCode.children[i];\n if (line.type === \"element\")\n root.children.push(...line.children);\n }\n }\n let result = root;\n for (const transformer of transformers)\n result = transformer?.root?.call(context, result) || result;\n if (grammarState)\n setLastGrammarStateToMap(result, grammarState);\n return result;\n}\nfunction mergeWhitespaceTokens(tokens) {\n return tokens.map((line) => {\n const newLine = [];\n let carryOnContent = \"\";\n let firstOffset;\n line.forEach((token, idx) => {\n const isDecorated = token.fontStyle && (token.fontStyle & FontStyle.Underline || token.fontStyle & FontStyle.Strikethrough);\n const couldMerge = !isDecorated;\n if (couldMerge && token.content.match(/^\\s+$/) && line[idx + 1]) {\n if (firstOffset === void 0)\n firstOffset = token.offset;\n carryOnContent += token.content;\n } else {\n if (carryOnContent) {\n if (couldMerge) {\n newLine.push({\n ...token,\n offset: firstOffset,\n content: carryOnContent + token.content\n });\n } else {\n newLine.push(\n {\n content: carryOnContent,\n offset: firstOffset\n },\n token\n );\n }\n firstOffset = void 0;\n carryOnContent = \"\";\n } else {\n newLine.push(token);\n }\n }\n });\n return newLine;\n });\n}\nfunction splitWhitespaceTokens(tokens) {\n return tokens.map((line) => {\n return line.flatMap((token) => {\n if (token.content.match(/^\\s+$/))\n return token;\n const match = token.content.match(/^(\\s*)(.*?)(\\s*)$/);\n if (!match)\n return token;\n const [, leading, content, trailing] = match;\n if (!leading && !trailing)\n return token;\n const expanded = [{\n ...token,\n offset: token.offset + leading.length,\n content\n }];\n if (leading) {\n expanded.unshift({\n content: leading,\n offset: token.offset\n });\n }\n if (trailing) {\n expanded.push({\n content: trailing,\n offset: token.offset + leading.length + content.length\n });\n }\n return expanded;\n });\n });\n}\nfunction mergeAdjacentStyledTokens(tokens) {\n return tokens.map((line) => {\n const newLine = [];\n for (const token of line) {\n if (newLine.length === 0) {\n newLine.push({ ...token });\n continue;\n }\n const prevToken = newLine[newLine.length - 1];\n const prevStyle = stringifyTokenStyle(prevToken.htmlStyle || getTokenStyleObject(prevToken));\n const currentStyle = stringifyTokenStyle(token.htmlStyle || getTokenStyleObject(token));\n const isPrevDecorated = prevToken.fontStyle && (prevToken.fontStyle & FontStyle.Underline || prevToken.fontStyle & FontStyle.Strikethrough);\n const isDecorated = token.fontStyle && (token.fontStyle & FontStyle.Underline || token.fontStyle & FontStyle.Strikethrough);\n if (!isPrevDecorated && !isDecorated && prevStyle === currentStyle) {\n prevToken.content += token.content;\n } else {\n newLine.push({ ...token });\n }\n }\n return newLine;\n });\n}\n\nconst hastToHtml = toHtml;\nfunction codeToHtml(internal, code, options) {\n const context = {\n meta: {},\n options,\n codeToHast: (_code, _options) => codeToHast(internal, _code, _options),\n codeToTokens: (_code, _options) => codeToTokens(internal, _code, _options)\n };\n let result = hastToHtml(codeToHast(internal, code, options, context));\n for (const transformer of getTransformers(options))\n result = transformer.postprocess?.call(context, result, options) || result;\n return result;\n}\n\nconst VSCODE_FALLBACK_EDITOR_FG = { light: \"#333333\", dark: \"#bbbbbb\" };\nconst VSCODE_FALLBACK_EDITOR_BG = { light: \"#fffffe\", dark: \"#1e1e1e\" };\nconst RESOLVED_KEY = \"__shiki_resolved\";\nfunction normalizeTheme(rawTheme) {\n if (rawTheme?.[RESOLVED_KEY])\n return rawTheme;\n const theme = {\n ...rawTheme\n };\n if (theme.tokenColors && !theme.settings) {\n theme.settings = theme.tokenColors;\n delete theme.tokenColors;\n }\n theme.type ||= \"dark\";\n theme.colorReplacements = { ...theme.colorReplacements };\n theme.settings ||= [];\n let { bg, fg } = theme;\n if (!bg || !fg) {\n const globalSetting = theme.settings ? theme.settings.find((s) => !s.name && !s.scope) : void 0;\n if (globalSetting?.settings?.foreground)\n fg = globalSetting.settings.foreground;\n if (globalSetting?.settings?.background)\n bg = globalSetting.settings.background;\n if (!fg && theme?.colors?.[\"editor.foreground\"])\n fg = theme.colors[\"editor.foreground\"];\n if (!bg && theme?.colors?.[\"editor.background\"])\n bg = theme.colors[\"editor.background\"];\n if (!fg)\n fg = theme.type === \"light\" ? VSCODE_FALLBACK_EDITOR_FG.light : VSCODE_FALLBACK_EDITOR_FG.dark;\n if (!bg)\n bg = theme.type === \"light\" ? VSCODE_FALLBACK_EDITOR_BG.light : VSCODE_FALLBACK_EDITOR_BG.dark;\n theme.fg = fg;\n theme.bg = bg;\n }\n if (!(theme.settings[0] && theme.settings[0].settings && !theme.settings[0].scope)) {\n theme.settings.unshift({\n settings: {\n foreground: theme.fg,\n background: theme.bg\n }\n });\n }\n let replacementCount = 0;\n const replacementMap = /* @__PURE__ */ new Map();\n function getReplacementColor(value) {\n if (replacementMap.has(value))\n return replacementMap.get(value);\n replacementCount += 1;\n const hex = `#${replacementCount.toString(16).padStart(8, \"0\").toLowerCase()}`;\n if (theme.colorReplacements?.[`#${hex}`])\n return getReplacementColor(value);\n replacementMap.set(value, hex);\n return hex;\n }\n theme.settings = theme.settings.map((setting) => {\n const replaceFg = setting.settings?.foreground && !setting.settings.foreground.startsWith(\"#\");\n const replaceBg = setting.settings?.background && !setting.settings.background.startsWith(\"#\");\n if (!replaceFg && !replaceBg)\n return setting;\n const clone = {\n ...setting,\n settings: {\n ...setting.settings\n }\n };\n if (replaceFg) {\n const replacement = getReplacementColor(setting.settings.foreground);\n theme.colorReplacements[replacement] = setting.settings.foreground;\n clone.settings.foreground = replacement;\n }\n if (replaceBg) {\n const replacement = getReplacementColor(setting.settings.background);\n theme.colorReplacements[replacement] = setting.settings.background;\n clone.settings.background = replacement;\n }\n return clone;\n });\n for (const key of Object.keys(theme.colors || {})) {\n if (key === \"editor.foreground\" || key === \"editor.background\" || key.startsWith(\"terminal.ansi\")) {\n if (!theme.colors[key]?.startsWith(\"#\")) {\n const replacement = getReplacementColor(theme.colors[key]);\n theme.colorReplacements[replacement] = theme.colors[key];\n theme.colors[key] = replacement;\n }\n }\n }\n Object.defineProperty(theme, RESOLVED_KEY, {\n enumerable: false,\n writable: false,\n value: true\n });\n return theme;\n}\n\nasync function resolveLangs(langs) {\n return Array.from(new Set((await Promise.all(\n langs.filter((l) => !isSpecialLang(l)).map(async (lang) => await normalizeGetter(lang).then((r) => Array.isArray(r) ? r : [r]))\n )).flat()));\n}\nasync function resolveThemes(themes) {\n const resolved = await Promise.all(\n themes.map(\n async (theme) => isSpecialTheme(theme) ? null : normalizeTheme(await normalizeGetter(theme))\n )\n );\n return resolved.filter((i) => !!i);\n}\n\nlet _emitDeprecation = 3;\nlet _emitError = false;\nfunction enableDeprecationWarnings(emitDeprecation = true, emitError = false) {\n _emitDeprecation = emitDeprecation;\n _emitError = emitError;\n}\nfunction warnDeprecated(message, version = 3) {\n if (!_emitDeprecation)\n return;\n if (typeof _emitDeprecation === \"number\" && version > _emitDeprecation)\n return;\n if (_emitError) {\n throw new Error(`[SHIKI DEPRECATE]: ${message}`);\n } else {\n console.trace(`[SHIKI DEPRECATE]: ${message}`);\n }\n}\n\nclass ShikiError extends Error {\n constructor(message) {\n super(message);\n this.name = \"ShikiError\";\n }\n}\n\nfunction resolveLangAlias(name, alias) {\n if (!alias)\n return name;\n if (alias[name]) {\n const resolved = /* @__PURE__ */ new Set([name]);\n while (alias[name]) {\n name = alias[name];\n if (resolved.has(name))\n throw new ShikiError(`Circular alias \\`${Array.from(resolved).join(\" -> \")} -> ${name}\\``);\n resolved.add(name);\n }\n }\n return name;\n}\n\nclass Registry extends Registry$1 {\n constructor(_resolver, _themes, _langs, _alias = {}) {\n super(_resolver);\n this._resolver = _resolver;\n this._themes = _themes;\n this._langs = _langs;\n this._alias = _alias;\n this._themes.map((t) => this.loadTheme(t));\n this.loadLanguages(this._langs);\n }\n _resolvedThemes = /* @__PURE__ */ new Map();\n _resolvedGrammars = /* @__PURE__ */ new Map();\n _langMap = /* @__PURE__ */ new Map();\n _langGraph = /* @__PURE__ */ new Map();\n _textmateThemeCache = /* @__PURE__ */ new WeakMap();\n _loadedThemesCache = null;\n _loadedLanguagesCache = null;\n getTheme(theme) {\n if (typeof theme === \"string\")\n return this._resolvedThemes.get(theme);\n else\n return this.loadTheme(theme);\n }\n loadTheme(theme) {\n const _theme = normalizeTheme(theme);\n if (_theme.name) {\n this._resolvedThemes.set(_theme.name, _theme);\n this._loadedThemesCache = null;\n }\n return _theme;\n }\n getLoadedThemes() {\n if (!this._loadedThemesCache)\n this._loadedThemesCache = [...this._resolvedThemes.keys()];\n return this._loadedThemesCache;\n }\n // Override and re-implement this method to cache the textmate themes as `TextMateTheme.createFromRawTheme`\n // is expensive. Themes can switch often especially for dual-theme support.\n //\n // The parent class also accepts `colorMap` as the second parameter, but since we don't use that,\n // we omit here so it's easier to cache the themes.\n setTheme(theme) {\n let textmateTheme = this._textmateThemeCache.get(theme);\n if (!textmateTheme) {\n textmateTheme = Theme.createFromRawTheme(theme);\n this._textmateThemeCache.set(theme, textmateTheme);\n }\n this._syncRegistry.setTheme(textmateTheme);\n }\n getGrammar(name) {\n name = resolveLangAlias(name, this._alias);\n return this._resolvedGrammars.get(name);\n }\n loadLanguage(lang) {\n if (this.getGrammar(lang.name))\n return;\n const embeddedLazilyBy = new Set(\n [...this._langMap.values()].filter((i) => i.embeddedLangsLazy?.includes(lang.name))\n );\n this._resolver.addLanguage(lang);\n const grammarConfig = {\n balancedBracketSelectors: lang.balancedBracketSelectors || [\"*\"],\n unbalancedBracketSelectors: lang.unbalancedBracketSelectors || []\n };\n this._syncRegistry._rawGrammars.set(lang.scopeName, lang);\n const g = this.loadGrammarWithConfiguration(lang.scopeName, 1, grammarConfig);\n g.name = lang.name;\n this._resolvedGrammars.set(lang.name, g);\n if (lang.aliases) {\n lang.aliases.forEach((alias) => {\n this._alias[alias] = lang.name;\n });\n }\n this._loadedLanguagesCache = null;\n if (embeddedLazilyBy.size) {\n for (const e of embeddedLazilyBy) {\n this._resolvedGrammars.delete(e.name);\n this._loadedLanguagesCache = null;\n this._syncRegistry?._injectionGrammars?.delete(e.scopeName);\n this._syncRegistry?._grammars?.delete(e.scopeName);\n this.loadLanguage(this._langMap.get(e.name));\n }\n }\n }\n dispose() {\n super.dispose();\n this._resolvedThemes.clear();\n this._resolvedGrammars.clear();\n this._langMap.clear();\n this._langGraph.clear();\n this._loadedThemesCache = null;\n }\n loadLanguages(langs) {\n for (const lang of langs)\n this.resolveEmbeddedLanguages(lang);\n const langsGraphArray = Array.from(this._langGraph.entries());\n const missingLangs = langsGraphArray.filter(([_, lang]) => !lang);\n if (missingLangs.length) {\n const dependents = langsGraphArray.filter(([_, lang]) => {\n if (!lang)\n return false;\n const embedded = lang.embeddedLanguages || lang.embeddedLangs;\n return embedded?.some((l) => missingLangs.map(([name]) => name).includes(l));\n }).filter((lang) => !missingLangs.includes(lang));\n throw new ShikiError(`Missing languages ${missingLangs.map(([name]) => `\\`${name}\\``).join(\", \")}, required by ${dependents.map(([name]) => `\\`${name}\\``).join(\", \")}`);\n }\n for (const [_, lang] of langsGraphArray)\n this._resolver.addLanguage(lang);\n for (const [_, lang] of langsGraphArray)\n this.loadLanguage(lang);\n }\n getLoadedLanguages() {\n if (!this._loadedLanguagesCache) {\n this._loadedLanguagesCache = [\n .../* @__PURE__ */ new Set([...this._resolvedGrammars.keys(), ...Object.keys(this._alias)])\n ];\n }\n return this._loadedLanguagesCache;\n }\n resolveEmbeddedLanguages(lang) {\n this._langMap.set(lang.name, lang);\n this._langGraph.set(lang.name, lang);\n const embedded = lang.embeddedLanguages ?? lang.embeddedLangs;\n if (embedded) {\n for (const embeddedLang of embedded)\n this._langGraph.set(embeddedLang, this._langMap.get(embeddedLang));\n }\n }\n}\n\nclass Resolver {\n _langs = /* @__PURE__ */ new Map();\n _scopeToLang = /* @__PURE__ */ new Map();\n _injections = /* @__PURE__ */ new Map();\n _onigLib;\n constructor(engine, langs) {\n this._onigLib = {\n createOnigScanner: (patterns) => engine.createScanner(patterns),\n createOnigString: (s) => engine.createString(s)\n };\n langs.forEach((i) => this.addLanguage(i));\n }\n get onigLib() {\n return this._onigLib;\n }\n getLangRegistration(langIdOrAlias) {\n return this._langs.get(langIdOrAlias);\n }\n loadGrammar(scopeName) {\n return this._scopeToLang.get(scopeName);\n }\n addLanguage(l) {\n this._langs.set(l.name, l);\n if (l.aliases) {\n l.aliases.forEach((a) => {\n this._langs.set(a, l);\n });\n }\n this._scopeToLang.set(l.scopeName, l);\n if (l.injectTo) {\n l.injectTo.forEach((i) => {\n if (!this._injections.get(i))\n this._injections.set(i, []);\n this._injections.get(i).push(l.scopeName);\n });\n }\n }\n getInjections(scopeName) {\n const scopeParts = scopeName.split(\".\");\n let injections = [];\n for (let i = 1; i <= scopeParts.length; i++) {\n const subScopeName = scopeParts.slice(0, i).join(\".\");\n injections = [...injections, ...this._injections.get(subScopeName) || []];\n }\n return injections;\n }\n}\n\nlet instancesCount = 0;\nfunction createShikiInternalSync(options) {\n instancesCount += 1;\n if (options.warnings !== false && instancesCount >= 10 && instancesCount % 10 === 0)\n console.warn(`[Shiki] ${instancesCount} instances have been created. Shiki is supposed to be used as a singleton, consider refactoring your code to cache your highlighter instance; Or call \\`highlighter.dispose()\\` to release unused instances.`);\n let isDisposed = false;\n if (!options.engine)\n throw new ShikiError(\"`engine` option is required for synchronous mode\");\n const langs = (options.langs || []).flat(1);\n const themes = (options.themes || []).flat(1).map(normalizeTheme);\n const resolver = new Resolver(options.engine, langs);\n const _registry = new Registry(resolver, themes, langs, options.langAlias);\n let _lastTheme;\n function resolveLangAlias$1(name) {\n return resolveLangAlias(name, options.langAlias);\n }\n function getLanguage(name) {\n ensureNotDisposed();\n const _lang = _registry.getGrammar(typeof name === \"string\" ? name : name.name);\n if (!_lang)\n throw new ShikiError(`Language \\`${name}\\` not found, you may need to load it first`);\n return _lang;\n }\n function getTheme(name) {\n if (name === \"none\")\n return { bg: \"\", fg: \"\", name: \"none\", settings: [], type: \"dark\" };\n ensureNotDisposed();\n const _theme = _registry.getTheme(name);\n if (!_theme)\n throw new ShikiError(`Theme \\`${name}\\` not found, you may need to load it first`);\n return _theme;\n }\n function setTheme(name) {\n ensureNotDisposed();\n const theme = getTheme(name);\n if (_lastTheme !== name) {\n _registry.setTheme(theme);\n _lastTheme = name;\n }\n const colorMap = _registry.getColorMap();\n return {\n theme,\n colorMap\n };\n }\n function getLoadedThemes() {\n ensureNotDisposed();\n return _registry.getLoadedThemes();\n }\n function getLoadedLanguages() {\n ensureNotDisposed();\n return _registry.getLoadedLanguages();\n }\n function loadLanguageSync(...langs2) {\n ensureNotDisposed();\n _registry.loadLanguages(langs2.flat(1));\n }\n async function loadLanguage(...langs2) {\n return loadLanguageSync(await resolveLangs(langs2));\n }\n function loadThemeSync(...themes2) {\n ensureNotDisposed();\n for (const theme of themes2.flat(1)) {\n _registry.loadTheme(theme);\n }\n }\n async function loadTheme(...themes2) {\n ensureNotDisposed();\n return loadThemeSync(await resolveThemes(themes2));\n }\n function ensureNotDisposed() {\n if (isDisposed)\n throw new ShikiError(\"Shiki instance has been disposed\");\n }\n function dispose() {\n if (isDisposed)\n return;\n isDisposed = true;\n _registry.dispose();\n instancesCount -= 1;\n }\n return {\n setTheme,\n getTheme,\n getLanguage,\n getLoadedThemes,\n getLoadedLanguages,\n resolveLangAlias: resolveLangAlias$1,\n loadLanguage,\n loadLanguageSync,\n loadTheme,\n loadThemeSync,\n dispose,\n [Symbol.dispose]: dispose\n };\n}\n\nasync function createShikiInternal(options) {\n if (!options.engine) {\n warnDeprecated(\"`engine` option is required. Use `createOnigurumaEngine` or `createJavaScriptRegexEngine` to create an engine.\");\n }\n const [\n themes,\n langs,\n engine\n ] = await Promise.all([\n resolveThemes(options.themes || []),\n resolveLangs(options.langs || []),\n options.engine\n ]);\n return createShikiInternalSync({\n ...options,\n themes,\n langs,\n engine\n });\n}\n\nasync function createHighlighterCore(options) {\n const internal = await createShikiInternal(options);\n return {\n getLastGrammarState: (...args) => getLastGrammarState(internal, ...args),\n codeToTokensBase: (code, options2) => codeToTokensBase(internal, code, options2),\n codeToTokensWithThemes: (code, options2) => codeToTokensWithThemes(internal, code, options2),\n codeToTokens: (code, options2) => codeToTokens(internal, code, options2),\n codeToHast: (code, options2) => codeToHast(internal, code, options2),\n codeToHtml: (code, options2) => codeToHtml(internal, code, options2),\n getBundledLanguages: () => ({}),\n getBundledThemes: () => ({}),\n ...internal,\n getInternalContext: () => internal\n };\n}\nfunction createHighlighterCoreSync(options) {\n const internal = createShikiInternalSync(options);\n return {\n getLastGrammarState: (...args) => getLastGrammarState(internal, ...args),\n codeToTokensBase: (code, options2) => codeToTokensBase(internal, code, options2),\n codeToTokensWithThemes: (code, options2) => codeToTokensWithThemes(internal, code, options2),\n codeToTokens: (code, options2) => codeToTokens(internal, code, options2),\n codeToHast: (code, options2) => codeToHast(internal, code, options2),\n codeToHtml: (code, options2) => codeToHtml(internal, code, options2),\n getBundledLanguages: () => ({}),\n getBundledThemes: () => ({}),\n ...internal,\n getInternalContext: () => internal\n };\n}\nfunction makeSingletonHighlighterCore(createHighlighter) {\n let _shiki;\n async function getSingletonHighlighterCore2(options) {\n if (!_shiki) {\n _shiki = createHighlighter({\n ...options,\n themes: options.themes || [],\n langs: options.langs || []\n });\n return _shiki;\n } else {\n const s = await _shiki;\n await Promise.all([\n s.loadTheme(...options.themes || []),\n s.loadLanguage(...options.langs || [])\n ]);\n return s;\n }\n }\n return getSingletonHighlighterCore2;\n}\nconst getSingletonHighlighterCore = /* @__PURE__ */ makeSingletonHighlighterCore(createHighlighterCore);\n\nfunction createBundledHighlighter(options) {\n const bundledLanguages = options.langs;\n const bundledThemes = options.themes;\n const engine = options.engine;\n async function createHighlighter(options2) {\n function resolveLang(lang) {\n if (typeof lang === \"string\") {\n lang = options2.langAlias?.[lang] || lang;\n if (isSpecialLang(lang))\n return [];\n const bundle = bundledLanguages[lang];\n if (!bundle)\n throw new ShikiError$1(`Language \\`${lang}\\` is not included in this bundle. You may want to load it from external source.`);\n return bundle;\n }\n return lang;\n }\n function resolveTheme(theme) {\n if (isSpecialTheme(theme))\n return \"none\";\n if (typeof theme === \"string\") {\n const bundle = bundledThemes[theme];\n if (!bundle)\n throw new ShikiError$1(`Theme \\`${theme}\\` is not included in this bundle. You may want to load it from external source.`);\n return bundle;\n }\n return theme;\n }\n const _themes = (options2.themes ?? []).map((i) => resolveTheme(i));\n const langs = (options2.langs ?? []).map((i) => resolveLang(i));\n const core = await createHighlighterCore({\n engine: options2.engine ?? engine(),\n ...options2,\n themes: _themes,\n langs\n });\n return {\n ...core,\n loadLanguage(...langs2) {\n return core.loadLanguage(...langs2.map(resolveLang));\n },\n loadTheme(...themes) {\n return core.loadTheme(...themes.map(resolveTheme));\n },\n getBundledLanguages() {\n return bundledLanguages;\n },\n getBundledThemes() {\n return bundledThemes;\n }\n };\n }\n return createHighlighter;\n}\nfunction makeSingletonHighlighter(createHighlighter) {\n let _shiki;\n async function getSingletonHighlighter(options = {}) {\n if (!_shiki) {\n _shiki = createHighlighter({\n ...options,\n themes: [],\n langs: []\n });\n const s = await _shiki;\n await Promise.all([\n s.loadTheme(...options.themes || []),\n s.loadLanguage(...options.langs || [])\n ]);\n return s;\n } else {\n const s = await _shiki;\n await Promise.all([\n s.loadTheme(...options.themes || []),\n s.loadLanguage(...options.langs || [])\n ]);\n return s;\n }\n }\n return getSingletonHighlighter;\n}\nfunction createSingletonShorthands(createHighlighter, config) {\n const getSingletonHighlighter = makeSingletonHighlighter(createHighlighter);\n async function get(code, options) {\n const shiki = await getSingletonHighlighter({\n langs: [options.lang],\n themes: \"theme\" in options ? [options.theme] : Object.values(options.themes)\n });\n const langs = await config?.guessEmbeddedLanguages?.(code, options.lang, shiki);\n if (langs) {\n await shiki.loadLanguage(...langs);\n }\n return shiki;\n }\n return {\n getSingletonHighlighter(options) {\n return getSingletonHighlighter(options);\n },\n async codeToHtml(code, options) {\n const shiki = await get(code, options);\n return shiki.codeToHtml(code, options);\n },\n async codeToHast(code, options) {\n const shiki = await get(code, options);\n return shiki.codeToHast(code, options);\n },\n async codeToTokens(code, options) {\n const shiki = await get(code, options);\n return shiki.codeToTokens(code, options);\n },\n async codeToTokensBase(code, options) {\n const shiki = await get(code, options);\n return shiki.codeToTokensBase(code, options);\n },\n async codeToTokensWithThemes(code, options) {\n const shiki = await get(code, options);\n return shiki.codeToTokensWithThemes(code, options);\n },\n async getLastGrammarState(code, options) {\n const shiki = await getSingletonHighlighter({\n langs: [options.lang],\n themes: [options.theme]\n });\n return shiki.getLastGrammarState(code, options);\n }\n };\n}\nconst createdBundledHighlighter = createBundledHighlighter;\n\nfunction createCssVariablesTheme(options = {}) {\n const {\n name = \"css-variables\",\n variablePrefix = \"--shiki-\",\n fontStyle = true\n } = options;\n const variable = (name2) => {\n if (options.variableDefaults?.[name2])\n return `var(${variablePrefix}${name2}, ${options.variableDefaults[name2]})`;\n return `var(${variablePrefix}${name2})`;\n };\n const theme = {\n name,\n type: \"dark\",\n colors: {\n \"editor.foreground\": variable(\"foreground\"),\n \"editor.background\": variable(\"background\"),\n \"terminal.ansiBlack\": variable(\"ansi-black\"),\n \"terminal.ansiRed\": variable(\"ansi-red\"),\n \"terminal.ansiGreen\": variable(\"ansi-green\"),\n \"terminal.ansiYellow\": variable(\"ansi-yellow\"),\n \"terminal.ansiBlue\": variable(\"ansi-blue\"),\n \"terminal.ansiMagenta\": variable(\"ansi-magenta\"),\n \"terminal.ansiCyan\": variable(\"ansi-cyan\"),\n \"terminal.ansiWhite\": variable(\"ansi-white\"),\n \"terminal.ansiBrightBlack\": variable(\"ansi-bright-black\"),\n \"terminal.ansiBrightRed\": variable(\"ansi-bright-red\"),\n \"terminal.ansiBrightGreen\": variable(\"ansi-bright-green\"),\n \"terminal.ansiBrightYellow\": variable(\"ansi-bright-yellow\"),\n \"terminal.ansiBrightBlue\": variable(\"ansi-bright-blue\"),\n \"terminal.ansiBrightMagenta\": variable(\"ansi-bright-magenta\"),\n \"terminal.ansiBrightCyan\": variable(\"ansi-bright-cyan\"),\n \"terminal.ansiBrightWhite\": variable(\"ansi-bright-white\")\n },\n tokenColors: [\n {\n scope: [\n \"keyword.operator.accessor\",\n \"meta.group.braces.round.function.arguments\",\n \"meta.template.expression\",\n \"markup.fenced_code meta.embedded.block\"\n ],\n settings: {\n foreground: variable(\"foreground\")\n }\n },\n {\n scope: \"emphasis\",\n settings: {\n fontStyle: \"italic\"\n }\n },\n {\n scope: [\"strong\", \"markup.heading.markdown\", \"markup.bold.markdown\"],\n settings: {\n fontStyle: \"bold\"\n }\n },\n {\n scope: [\"markup.italic.markdown\"],\n settings: {\n fontStyle: \"italic\"\n }\n },\n {\n scope: \"meta.link.inline.markdown\",\n settings: {\n fontStyle: \"underline\",\n foreground: variable(\"token-link\")\n }\n },\n {\n scope: [\"string\", \"markup.fenced_code\", \"markup.inline\"],\n settings: {\n foreground: variable(\"token-string\")\n }\n },\n {\n scope: [\"comment\", \"string.quoted.docstring.multi\"],\n settings: {\n foreground: variable(\"token-comment\")\n }\n },\n {\n scope: [\n \"constant.numeric\",\n \"constant.language\",\n \"constant.other.placeholder\",\n \"constant.character.format.placeholder\",\n \"variable.language.this\",\n \"variable.other.object\",\n \"variable.other.class\",\n \"variable.other.constant\",\n \"meta.property-name\",\n \"meta.property-value\",\n \"support\"\n ],\n settings: {\n foreground: variable(\"token-constant\")\n }\n },\n {\n scope: [\n \"keyword\",\n \"storage.modifier\",\n \"storage.type\",\n \"storage.control.clojure\",\n \"entity.name.function.clojure\",\n \"entity.name.tag.yaml\",\n \"support.function.node\",\n \"support.type.property-name.json\",\n \"punctuation.separator.key-value\",\n \"punctuation.definition.template-expression\"\n ],\n settings: {\n foreground: variable(\"token-keyword\")\n }\n },\n {\n scope: \"variable.parameter.function\",\n settings: {\n foreground: variable(\"token-parameter\")\n }\n },\n {\n scope: [\n \"support.function\",\n \"entity.name.type\",\n \"entity.other.inherited-class\",\n \"meta.function-call\",\n \"meta.instance.constructor\",\n \"entity.other.attribute-name\",\n \"entity.name.function\",\n \"constant.keyword.clojure\"\n ],\n settings: {\n foreground: variable(\"token-function\")\n }\n },\n {\n scope: [\n \"entity.name.tag\",\n \"string.quoted\",\n \"string.regexp\",\n \"string.interpolated\",\n \"string.template\",\n \"string.unquoted.plain.out.yaml\",\n \"keyword.other.template\"\n ],\n settings: {\n foreground: variable(\"token-string-expression\")\n }\n },\n {\n scope: [\n \"punctuation.definition.arguments\",\n \"punctuation.definition.dict\",\n \"punctuation.separator\",\n \"meta.function-call.arguments\"\n ],\n settings: {\n foreground: variable(\"token-punctuation\")\n }\n },\n {\n // [Custom] Markdown links\n scope: [\n \"markup.underline.link\",\n \"punctuation.definition.metadata.markdown\"\n ],\n settings: {\n foreground: variable(\"token-link\")\n }\n },\n {\n // [Custom] Markdown list\n scope: [\"beginning.punctuation.definition.list.markdown\"],\n settings: {\n foreground: variable(\"token-string\")\n }\n },\n {\n // [Custom] Markdown punctuation definition brackets\n scope: [\n \"punctuation.definition.string.begin.markdown\",\n \"punctuation.definition.string.end.markdown\",\n \"string.other.link.title.markdown\",\n \"string.other.link.description.markdown\"\n ],\n settings: {\n foreground: variable(\"token-keyword\")\n }\n },\n {\n // [Custom] Diff\n scope: [\n \"markup.inserted\",\n \"meta.diff.header.to-file\",\n \"punctuation.definition.inserted\"\n ],\n settings: {\n foreground: variable(\"token-inserted\")\n }\n },\n {\n scope: [\n \"markup.deleted\",\n \"meta.diff.header.from-file\",\n \"punctuation.definition.deleted\"\n ],\n settings: {\n foreground: variable(\"token-deleted\")\n }\n },\n {\n scope: [\n \"markup.changed\",\n \"punctuation.definition.changed\"\n ],\n settings: {\n foreground: variable(\"token-changed\")\n }\n }\n ]\n };\n if (!fontStyle) {\n theme.tokenColors = theme.tokenColors?.map((tokenColor) => {\n if (tokenColor.settings?.fontStyle)\n delete tokenColor.settings.fontStyle;\n return tokenColor;\n });\n }\n return theme;\n}\n\nexport { addClassToHast, applyColorReplacements, codeToHast, codeToHtml, codeToTokens, codeToTokensBase, codeToTokensWithThemes, createBundledHighlighter, createCssVariablesTheme, createHighlighterCore, createHighlighterCoreSync, createPositionConverter, createShikiInternal, createShikiInternalSync, createSingletonShorthands, createdBundledHighlighter, enableDeprecationWarnings, flatTokenVariants, getSingletonHighlighterCore, getTokenStyleObject, guessEmbeddedLanguages, hastToHtml, isNoneTheme, isPlainLang, isSpecialLang, isSpecialTheme, makeSingletonHighlighter, makeSingletonHighlighterCore, normalizeGetter, normalizeTheme, resolveColorReplacements, splitLines, splitToken, splitTokens, stringifyTokenStyle, toArray, tokenizeAnsiWithTheme, tokenizeWithTheme, tokensToHast, transformerDecorations, warnDeprecated };\n"],"names":["resolveColorReplacements","theme","options","replacements","themeName","key","value","applyColorReplacements","color","toArray","x","normalizeGetter","p","r","isPlainLang","lang","isSpecialLang","isNoneTheme","isSpecialTheme","addClassToHast","node","className","_a","targets","c","splitLines","code","preserveEnding","parts","index","lines","i","line","createPositionConverter","indexToPos","character","lineText","posToIndex","guessEmbeddedLanguages","_lang","highlighter","langs","match","fullType","bundle","l","DEFAULT_COLOR_LIGHT_DARK","COLOR_KEYS","splitToken","token","offsets","lastOffset","tokens","offset","splitTokens","breakpoints","sorted","a","b","breakpointsInToken","flatTokenVariants","merged","variantsOrder","cssVariablePrefix","defaultColor","colorsRendering","styles","t","getTokenStyleObject","styleKeys","mergedStyles","varKey","idx","keyName","cur","lightIndex","darkIndex","ShikiError$1","lightValue","darkValue","FontStyle","decorations","stringifyTokenStyle","_grammarStateMap","setLastGrammarStateToMap","keys","state","getLastGrammarStateFromMap","GrammarState","args","__publicField","stacksMap","stack","themes","INITIAL","getScopes","scopes","visited","pushScope","stack2","name","getGrammarStack","transformerDecorations","map","getContext","shiki","normalizePosition","converter","d","verifyIntersections","codeEl","ctx","applyLineSection","start","end","decoration","lineEl","text","startIndex","endIndex","stringify","children","applyDecoration","wrapper","applyLine","el","type","properties","transform","lineApplies","items","foo","j","bar","isFooHasBarStart","isFooHasBarEnd","isBarHasFooStart","isBarHasFooEnd","builtInTransformers","getTransformers","transformers","sortTransformersByEnforcement","pre","post","normal","transformer","namedColors","findSequence","position","nextEscape","nextClose","parseColor","sequence","colorMode","rgb","parseSequence","commands","codeInt","createAnsiSequenceParser","foreground","background","decorations2","findResult","styleToken","defaultNamedColorsMap","createColorPalette","namedColorsMap","namedColor","rgbColor","colorTable","getColorTable","levels","g","level","tableColor","defaultAnsiColors","tokenizeAnsiWithTheme","fileContents","colorReplacements","ansiPalette","themeColor","colorPalette","parser","bgColor","dimColor","fontStyle","hexMatch","hex","alpha","cssVarMatch","codeToTokensBase","internal","colorMap","_grammar","tokenizeWithTheme","getLastGrammarState","_tokenizeWithTheme","grammar","result","grammarState","tokenizeMaxLineLength","tokenizeTimeLimit","stateStack","actual","final","len","lineOffset","resultWithScopes","tokensWithScopes","tokensWithScopesIndex","tokensLength","nextStartIndex","metadata","EncodedTokenMetadata","themeSettingsSelectors","setting","selectors","scope","selector","tokenWithScopes","tokenWithScopesText","explainThemeScopesNameOnly","explainThemeScopesFull","themeSelectors","explainThemeScope","matchesOne","matches","parentScopes","selectorParentIndex","parentIndex","settings","selectorPieces","codeToTokensWithThemes","themedTokens","tokens2","syncThemesTokenization","mergedTokens","lineIdx","_token","tokenIdx","mergedToken","themeIdx","_","__","___","mergedGrammarState","s","outThemes","count","outLines","i2","indexes","current","minLength","n","codeToTokens","bg","fg","rootStyle","themeTokens","themeRegs","themesOrder","themeColorReplacements","mapThemeColors","_theme","property","cssVar","t2","codeToHast","transformerContext","_code","_options","input","mergeWhitespaces","mergeSameStyleTokens","mergeWhitespaceTokens","splitWhitespaceTokens","mergeAdjacentStyledTokens","contextSource","_b","tokensToHast","root","structure","tabindex","preNode","codeNode","lineNodes","context","lineNode","col","tokenNode","style","syntheticLines","currentLine","child","transformedCode","_c","_d","newLine","carryOnContent","firstOffset","couldMerge","leading","content","trailing","expanded","prevToken","prevStyle","currentStyle","isPrevDecorated","isDecorated","hastToHtml","toHtml","codeToHtml","VSCODE_FALLBACK_EDITOR_FG","VSCODE_FALLBACK_EDITOR_BG","RESOLVED_KEY","normalizeTheme","rawTheme","globalSetting","replacementCount","replacementMap","getReplacementColor","replaceFg","replaceBg","clone","replacement","_e","resolveLangs","resolveThemes","_emitDeprecation","warnDeprecated","message","version","ShikiError","resolveLangAlias","alias","resolved","Registry","Registry$1","_resolver","_themes","_langs","_alias","textmateTheme","Theme","embeddedLazilyBy","grammarConfig","e","langsGraphArray","missingLangs","dependents","embedded","embeddedLang","Resolver","engine","patterns","langIdOrAlias","scopeName","scopeParts","injections","subScopeName","instancesCount","createShikiInternalSync","isDisposed","resolver","_registry","_lastTheme","resolveLangAlias$1","getLanguage","ensureNotDisposed","getTheme","setTheme","getLoadedThemes","getLoadedLanguages","loadLanguageSync","langs2","loadLanguage","loadThemeSync","themes2","loadTheme","dispose","createShikiInternal","createHighlighterCore","options2","createBundledHighlighter","bundledLanguages","bundledThemes","createHighlighter","resolveLang","resolveTheme","core","makeSingletonHighlighter","_shiki","getSingletonHighlighter","createSingletonShorthands","config","get"],"mappings":"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","x_google_ignoreList":[0]}
|
|
1
|
+
{"version":3,"file":"index.esm82.js","sources":["../node_modules/.pnpm/@shikijs+engine-oniguruma@3.22.0/node_modules/@shikijs/engine-oniguruma/dist/index.mjs"],"sourcesContent":["class ShikiError extends Error {\n constructor(message) {\n super(message);\n this.name = \"ShikiError\";\n }\n}\n\nfunction getHeapMax() {\n return 2147483648;\n}\nfunction _emscripten_get_now() {\n return typeof performance !== \"undefined\" ? performance.now() : Date.now();\n}\nconst alignUp = (x, multiple) => x + (multiple - x % multiple) % multiple;\nasync function main(init) {\n let wasmMemory;\n let buffer;\n const binding = {};\n function updateGlobalBufferAndViews(buf) {\n buffer = buf;\n binding.HEAPU8 = new Uint8Array(buf);\n binding.HEAPU32 = new Uint32Array(buf);\n }\n function _emscripten_memcpy_big(dest, src, num) {\n binding.HEAPU8.copyWithin(dest, src, src + num);\n }\n function emscripten_realloc_buffer(size) {\n try {\n wasmMemory.grow(size - buffer.byteLength + 65535 >>> 16);\n updateGlobalBufferAndViews(wasmMemory.buffer);\n return 1;\n } catch {\n }\n }\n function _emscripten_resize_heap(requestedSize) {\n const oldSize = binding.HEAPU8.length;\n requestedSize = requestedSize >>> 0;\n const maxHeapSize = getHeapMax();\n if (requestedSize > maxHeapSize)\n return false;\n for (let cutDown = 1; cutDown <= 4; cutDown *= 2) {\n let overGrownHeapSize = oldSize * (1 + 0.2 / cutDown);\n overGrownHeapSize = Math.min(overGrownHeapSize, requestedSize + 100663296);\n const newSize = Math.min(maxHeapSize, alignUp(Math.max(requestedSize, overGrownHeapSize), 65536));\n const replacement = emscripten_realloc_buffer(newSize);\n if (replacement)\n return true;\n }\n return false;\n }\n const UTF8Decoder = typeof TextDecoder != \"undefined\" ? new TextDecoder(\"utf8\") : void 0;\n function UTF8ArrayToString(heapOrArray, idx, maxBytesToRead = 1024) {\n const endIdx = idx + maxBytesToRead;\n let endPtr = idx;\n while (heapOrArray[endPtr] && !(endPtr >= endIdx)) ++endPtr;\n if (endPtr - idx > 16 && heapOrArray.buffer && UTF8Decoder) {\n return UTF8Decoder.decode(heapOrArray.subarray(idx, endPtr));\n }\n let str = \"\";\n while (idx < endPtr) {\n let u0 = heapOrArray[idx++];\n if (!(u0 & 128)) {\n str += String.fromCharCode(u0);\n continue;\n }\n const u1 = heapOrArray[idx++] & 63;\n if ((u0 & 224) === 192) {\n str += String.fromCharCode((u0 & 31) << 6 | u1);\n continue;\n }\n const u2 = heapOrArray[idx++] & 63;\n if ((u0 & 240) === 224) {\n u0 = (u0 & 15) << 12 | u1 << 6 | u2;\n } else {\n u0 = (u0 & 7) << 18 | u1 << 12 | u2 << 6 | heapOrArray[idx++] & 63;\n }\n if (u0 < 65536) {\n str += String.fromCharCode(u0);\n } else {\n const ch = u0 - 65536;\n str += String.fromCharCode(55296 | ch >> 10, 56320 | ch & 1023);\n }\n }\n return str;\n }\n function UTF8ToString(ptr, maxBytesToRead) {\n return ptr ? UTF8ArrayToString(binding.HEAPU8, ptr, maxBytesToRead) : \"\";\n }\n const asmLibraryArg = {\n emscripten_get_now: _emscripten_get_now,\n emscripten_memcpy_big: _emscripten_memcpy_big,\n emscripten_resize_heap: _emscripten_resize_heap,\n fd_write: () => 0\n };\n async function createWasm() {\n const info = {\n env: asmLibraryArg,\n wasi_snapshot_preview1: asmLibraryArg\n };\n const exports$1 = await init(info);\n wasmMemory = exports$1.memory;\n updateGlobalBufferAndViews(wasmMemory.buffer);\n Object.assign(binding, exports$1);\n binding.UTF8ToString = UTF8ToString;\n }\n await createWasm();\n return binding;\n}\n\nvar __defProp = Object.defineProperty;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== \"symbol\" ? key + \"\" : key, value);\nlet onigBinding = null;\nfunction throwLastOnigError(onigBinding2) {\n throw new ShikiError(onigBinding2.UTF8ToString(onigBinding2.getLastOnigError()));\n}\nclass UtfString {\n constructor(str) {\n __publicField(this, \"utf16Length\");\n __publicField(this, \"utf8Length\");\n __publicField(this, \"utf16Value\");\n __publicField(this, \"utf8Value\");\n __publicField(this, \"utf16OffsetToUtf8\");\n __publicField(this, \"utf8OffsetToUtf16\");\n const utf16Length = str.length;\n const utf8Length = UtfString._utf8ByteLength(str);\n const computeIndicesMapping = utf8Length !== utf16Length;\n const utf16OffsetToUtf8 = computeIndicesMapping ? new Uint32Array(utf16Length + 1) : null;\n if (computeIndicesMapping)\n utf16OffsetToUtf8[utf16Length] = utf8Length;\n const utf8OffsetToUtf16 = computeIndicesMapping ? new Uint32Array(utf8Length + 1) : null;\n if (computeIndicesMapping)\n utf8OffsetToUtf16[utf8Length] = utf16Length;\n const utf8Value = new Uint8Array(utf8Length);\n let i8 = 0;\n for (let i16 = 0; i16 < utf16Length; i16++) {\n const charCode = str.charCodeAt(i16);\n let codePoint = charCode;\n let wasSurrogatePair = false;\n if (charCode >= 55296 && charCode <= 56319) {\n if (i16 + 1 < utf16Length) {\n const nextCharCode = str.charCodeAt(i16 + 1);\n if (nextCharCode >= 56320 && nextCharCode <= 57343) {\n codePoint = (charCode - 55296 << 10) + 65536 | nextCharCode - 56320;\n wasSurrogatePair = true;\n }\n }\n }\n if (computeIndicesMapping) {\n utf16OffsetToUtf8[i16] = i8;\n if (wasSurrogatePair)\n utf16OffsetToUtf8[i16 + 1] = i8;\n if (codePoint <= 127) {\n utf8OffsetToUtf16[i8 + 0] = i16;\n } else if (codePoint <= 2047) {\n utf8OffsetToUtf16[i8 + 0] = i16;\n utf8OffsetToUtf16[i8 + 1] = i16;\n } else if (codePoint <= 65535) {\n utf8OffsetToUtf16[i8 + 0] = i16;\n utf8OffsetToUtf16[i8 + 1] = i16;\n utf8OffsetToUtf16[i8 + 2] = i16;\n } else {\n utf8OffsetToUtf16[i8 + 0] = i16;\n utf8OffsetToUtf16[i8 + 1] = i16;\n utf8OffsetToUtf16[i8 + 2] = i16;\n utf8OffsetToUtf16[i8 + 3] = i16;\n }\n }\n if (codePoint <= 127) {\n utf8Value[i8++] = codePoint;\n } else if (codePoint <= 2047) {\n utf8Value[i8++] = 192 | (codePoint & 1984) >>> 6;\n utf8Value[i8++] = 128 | (codePoint & 63) >>> 0;\n } else if (codePoint <= 65535) {\n utf8Value[i8++] = 224 | (codePoint & 61440) >>> 12;\n utf8Value[i8++] = 128 | (codePoint & 4032) >>> 6;\n utf8Value[i8++] = 128 | (codePoint & 63) >>> 0;\n } else {\n utf8Value[i8++] = 240 | (codePoint & 1835008) >>> 18;\n utf8Value[i8++] = 128 | (codePoint & 258048) >>> 12;\n utf8Value[i8++] = 128 | (codePoint & 4032) >>> 6;\n utf8Value[i8++] = 128 | (codePoint & 63) >>> 0;\n }\n if (wasSurrogatePair)\n i16++;\n }\n this.utf16Length = utf16Length;\n this.utf8Length = utf8Length;\n this.utf16Value = str;\n this.utf8Value = utf8Value;\n this.utf16OffsetToUtf8 = utf16OffsetToUtf8;\n this.utf8OffsetToUtf16 = utf8OffsetToUtf16;\n }\n static _utf8ByteLength(str) {\n let result = 0;\n for (let i = 0, len = str.length; i < len; i++) {\n const charCode = str.charCodeAt(i);\n let codepoint = charCode;\n let wasSurrogatePair = false;\n if (charCode >= 55296 && charCode <= 56319) {\n if (i + 1 < len) {\n const nextCharCode = str.charCodeAt(i + 1);\n if (nextCharCode >= 56320 && nextCharCode <= 57343) {\n codepoint = (charCode - 55296 << 10) + 65536 | nextCharCode - 56320;\n wasSurrogatePair = true;\n }\n }\n }\n if (codepoint <= 127)\n result += 1;\n else if (codepoint <= 2047)\n result += 2;\n else if (codepoint <= 65535)\n result += 3;\n else\n result += 4;\n if (wasSurrogatePair)\n i++;\n }\n return result;\n }\n createString(onigBinding2) {\n const result = onigBinding2.omalloc(this.utf8Length);\n onigBinding2.HEAPU8.set(this.utf8Value, result);\n return result;\n }\n}\nconst _OnigString = class _OnigString {\n constructor(str) {\n __publicField(this, \"id\", ++_OnigString.LAST_ID);\n __publicField(this, \"_onigBinding\");\n __publicField(this, \"content\");\n __publicField(this, \"utf16Length\");\n __publicField(this, \"utf8Length\");\n __publicField(this, \"utf16OffsetToUtf8\");\n __publicField(this, \"utf8OffsetToUtf16\");\n __publicField(this, \"ptr\");\n if (!onigBinding)\n throw new ShikiError(\"Must invoke loadWasm first.\");\n this._onigBinding = onigBinding;\n this.content = str;\n const utfString = new UtfString(str);\n this.utf16Length = utfString.utf16Length;\n this.utf8Length = utfString.utf8Length;\n this.utf16OffsetToUtf8 = utfString.utf16OffsetToUtf8;\n this.utf8OffsetToUtf16 = utfString.utf8OffsetToUtf16;\n if (this.utf8Length < 1e4 && !_OnigString._sharedPtrInUse) {\n if (!_OnigString._sharedPtr)\n _OnigString._sharedPtr = onigBinding.omalloc(1e4);\n _OnigString._sharedPtrInUse = true;\n onigBinding.HEAPU8.set(utfString.utf8Value, _OnigString._sharedPtr);\n this.ptr = _OnigString._sharedPtr;\n } else {\n this.ptr = utfString.createString(onigBinding);\n }\n }\n convertUtf8OffsetToUtf16(utf8Offset) {\n if (this.utf8OffsetToUtf16) {\n if (utf8Offset < 0)\n return 0;\n if (utf8Offset > this.utf8Length)\n return this.utf16Length;\n return this.utf8OffsetToUtf16[utf8Offset];\n }\n return utf8Offset;\n }\n convertUtf16OffsetToUtf8(utf16Offset) {\n if (this.utf16OffsetToUtf8) {\n if (utf16Offset < 0)\n return 0;\n if (utf16Offset > this.utf16Length)\n return this.utf8Length;\n return this.utf16OffsetToUtf8[utf16Offset];\n }\n return utf16Offset;\n }\n dispose() {\n if (this.ptr === _OnigString._sharedPtr)\n _OnigString._sharedPtrInUse = false;\n else\n this._onigBinding.ofree(this.ptr);\n }\n};\n__publicField(_OnigString, \"LAST_ID\", 0);\n__publicField(_OnigString, \"_sharedPtr\", 0);\n// a pointer to a string of 10000 bytes\n__publicField(_OnigString, \"_sharedPtrInUse\", false);\nlet OnigString = _OnigString;\nclass OnigScanner {\n constructor(patterns) {\n __publicField(this, \"_onigBinding\");\n __publicField(this, \"_ptr\");\n if (!onigBinding)\n throw new ShikiError(\"Must invoke loadWasm first.\");\n const strPtrsArr = [];\n const strLenArr = [];\n for (let i = 0, len = patterns.length; i < len; i++) {\n const utfString = new UtfString(patterns[i]);\n strPtrsArr[i] = utfString.createString(onigBinding);\n strLenArr[i] = utfString.utf8Length;\n }\n const strPtrsPtr = onigBinding.omalloc(4 * patterns.length);\n onigBinding.HEAPU32.set(strPtrsArr, strPtrsPtr / 4);\n const strLenPtr = onigBinding.omalloc(4 * patterns.length);\n onigBinding.HEAPU32.set(strLenArr, strLenPtr / 4);\n const scannerPtr = onigBinding.createOnigScanner(strPtrsPtr, strLenPtr, patterns.length);\n for (let i = 0, len = patterns.length; i < len; i++)\n onigBinding.ofree(strPtrsArr[i]);\n onigBinding.ofree(strLenPtr);\n onigBinding.ofree(strPtrsPtr);\n if (scannerPtr === 0)\n throwLastOnigError(onigBinding);\n this._onigBinding = onigBinding;\n this._ptr = scannerPtr;\n }\n dispose() {\n this._onigBinding.freeOnigScanner(this._ptr);\n }\n findNextMatchSync(string, startPosition, arg) {\n let options = 0 /* None */;\n if (typeof arg === \"number\") {\n options = arg;\n }\n if (typeof string === \"string\") {\n string = new OnigString(string);\n const result = this._findNextMatchSync(string, startPosition, false, options);\n string.dispose();\n return result;\n }\n return this._findNextMatchSync(string, startPosition, false, options);\n }\n _findNextMatchSync(string, startPosition, debugCall, options) {\n const onigBinding2 = this._onigBinding;\n const resultPtr = onigBinding2.findNextOnigScannerMatch(this._ptr, string.id, string.ptr, string.utf8Length, string.convertUtf16OffsetToUtf8(startPosition), options);\n if (resultPtr === 0) {\n return null;\n }\n const HEAPU32 = onigBinding2.HEAPU32;\n let offset = resultPtr / 4;\n const index = HEAPU32[offset++];\n const count = HEAPU32[offset++];\n const captureIndices = [];\n for (let i = 0; i < count; i++) {\n const beg = string.convertUtf8OffsetToUtf16(HEAPU32[offset++]);\n const end = string.convertUtf8OffsetToUtf16(HEAPU32[offset++]);\n captureIndices[i] = {\n start: beg,\n end,\n length: end - beg\n };\n }\n return {\n index,\n captureIndices\n };\n }\n}\nfunction isInstantiatorOptionsObject(dataOrOptions) {\n return typeof dataOrOptions.instantiator === \"function\";\n}\nfunction isInstantiatorModule(dataOrOptions) {\n return typeof dataOrOptions.default === \"function\";\n}\nfunction isDataOptionsObject(dataOrOptions) {\n return typeof dataOrOptions.data !== \"undefined\";\n}\nfunction isResponse(dataOrOptions) {\n return typeof Response !== \"undefined\" && dataOrOptions instanceof Response;\n}\nfunction isArrayBuffer(data) {\n return typeof ArrayBuffer !== \"undefined\" && (data instanceof ArrayBuffer || ArrayBuffer.isView(data)) || typeof Buffer !== \"undefined\" && Buffer.isBuffer?.(data) || typeof SharedArrayBuffer !== \"undefined\" && data instanceof SharedArrayBuffer || typeof Uint32Array !== \"undefined\" && data instanceof Uint32Array;\n}\nlet initPromise;\nfunction loadWasm(options) {\n if (initPromise)\n return initPromise;\n async function _load() {\n onigBinding = await main(async (info) => {\n let instance = options;\n instance = await instance;\n if (typeof instance === \"function\")\n instance = await instance(info);\n if (typeof instance === \"function\")\n instance = await instance(info);\n if (isInstantiatorOptionsObject(instance)) {\n instance = await instance.instantiator(info);\n } else if (isInstantiatorModule(instance)) {\n instance = await instance.default(info);\n } else {\n if (isDataOptionsObject(instance))\n instance = instance.data;\n if (isResponse(instance)) {\n if (typeof WebAssembly.instantiateStreaming === \"function\")\n instance = await _makeResponseStreamingLoader(instance)(info);\n else\n instance = await _makeResponseNonStreamingLoader(instance)(info);\n } else if (isArrayBuffer(instance)) {\n instance = await _makeArrayBufferLoader(instance)(info);\n } else if (instance instanceof WebAssembly.Module) {\n instance = await _makeArrayBufferLoader(instance)(info);\n } else if (\"default\" in instance && instance.default instanceof WebAssembly.Module) {\n instance = await _makeArrayBufferLoader(instance.default)(info);\n }\n }\n if (\"instance\" in instance)\n instance = instance.instance;\n if (\"exports\" in instance)\n instance = instance.exports;\n return instance;\n });\n }\n initPromise = _load();\n return initPromise;\n}\nfunction _makeArrayBufferLoader(data) {\n return (importObject) => WebAssembly.instantiate(data, importObject);\n}\nfunction _makeResponseStreamingLoader(data) {\n return (importObject) => WebAssembly.instantiateStreaming(data, importObject);\n}\nfunction _makeResponseNonStreamingLoader(data) {\n return async (importObject) => {\n const arrayBuffer = await data.arrayBuffer();\n return WebAssembly.instantiate(arrayBuffer, importObject);\n };\n}\n\nlet _defaultWasmLoader;\nfunction setDefaultWasmLoader(_loader) {\n _defaultWasmLoader = _loader;\n}\nfunction getDefaultWasmLoader() {\n return _defaultWasmLoader;\n}\nasync function createOnigurumaEngine(options) {\n if (options)\n await loadWasm(options);\n return {\n createScanner(patterns) {\n return new OnigScanner(patterns.map((p) => typeof p === \"string\" ? p : p.source));\n },\n createString(s) {\n return new OnigString(s);\n }\n };\n}\n\nexport { createOnigurumaEngine, getDefaultWasmLoader, loadWasm, setDefaultWasmLoader };\n"],"names":["ShikiError","message","getHeapMax","_emscripten_get_now","alignUp","x","multiple","main","init","wasmMemory","buffer","binding","updateGlobalBufferAndViews","buf","_emscripten_memcpy_big","dest","src","num","emscripten_realloc_buffer","size","_emscripten_resize_heap","requestedSize","oldSize","maxHeapSize","cutDown","overGrownHeapSize","newSize","UTF8Decoder","UTF8ArrayToString","heapOrArray","idx","maxBytesToRead","endIdx","endPtr","str","u0","u1","u2","ch","UTF8ToString","ptr","asmLibraryArg","createWasm","exports$1","__defProp","__defNormalProp","obj","key","value","__publicField","onigBinding","throwLastOnigError","onigBinding2","UtfString","utf16Length","utf8Length","computeIndicesMapping","utf16OffsetToUtf8","utf8OffsetToUtf16","utf8Value","i8","i16","charCode","codePoint","wasSurrogatePair","nextCharCode","result","i","len","codepoint","_OnigString","utfString","utf8Offset","utf16Offset","OnigString","OnigScanner","patterns","strPtrsArr","strLenArr","strPtrsPtr","strLenPtr","scannerPtr","string","startPosition","arg","options","debugCall","resultPtr","HEAPU32","offset","index","count","captureIndices","beg","end","isInstantiatorOptionsObject","dataOrOptions","isInstantiatorModule","isDataOptionsObject","isResponse","isArrayBuffer","data","_a","initPromise","loadWasm","_load","info","instance","_makeResponseStreamingLoader","_makeResponseNonStreamingLoader","_makeArrayBufferLoader","importObject","arrayBuffer","createOnigurumaEngine","p","s"],"mappings":"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","x_google_ignoreList":[0]}
|