@ai-ecoverse/slicc-spectrum 1.104.2 → 1.105.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +14 -21
- package/dist/{chunk-D2HYQOCH.js → chunk-2GER7OHY.js} +4 -4
- package/dist/{chunk-JPIG5BAD.js → chunk-2JLDRHGH.js} +2 -2
- package/dist/chunk-2PTCZ3HU.js +177 -0
- package/dist/chunk-2PTCZ3HU.js.map +7 -0
- package/dist/chunk-2QGVEUM3.js +218 -0
- package/dist/chunk-2QGVEUM3.js.map +7 -0
- package/dist/chunk-2QTNHBD6.js +236 -0
- package/dist/chunk-2QTNHBD6.js.map +7 -0
- package/dist/chunk-3HYCVQIZ.js +2135 -0
- package/dist/chunk-3HYCVQIZ.js.map +7 -0
- package/dist/chunk-3TKJZ3WO.js +211 -0
- package/dist/chunk-3TKJZ3WO.js.map +7 -0
- package/dist/chunk-45RRK5H7.js +218 -0
- package/dist/chunk-45RRK5H7.js.map +7 -0
- package/dist/chunk-4LHTT5CM.js +260 -0
- package/dist/chunk-4LHTT5CM.js.map +7 -0
- package/dist/chunk-4LNENAB3.js +84 -0
- package/dist/chunk-4LNENAB3.js.map +7 -0
- package/dist/chunk-4UVLBBK5.js +229 -0
- package/dist/chunk-4UVLBBK5.js.map +7 -0
- package/dist/chunk-4V2XWPVI.js +260 -0
- package/dist/chunk-4V2XWPVI.js.map +7 -0
- package/dist/chunk-4VL4W65X.js +218 -0
- package/dist/chunk-4VL4W65X.js.map +7 -0
- package/dist/{chunk-442GNVWR.js → chunk-57NDK5DC.js} +2805 -2630
- package/dist/chunk-57NDK5DC.js.map +7 -0
- package/dist/chunk-5DQGKJYU.js +231 -0
- package/dist/chunk-5DQGKJYU.js.map +7 -0
- package/dist/chunk-5PPA6KWN.js +166 -0
- package/dist/chunk-5PPA6KWN.js.map +7 -0
- package/dist/chunk-5RPMYYR5.js +9 -0
- package/dist/chunk-5RPMYYR5.js.map +7 -0
- package/dist/chunk-5TKCBABJ.js +169 -0
- package/dist/chunk-5TKCBABJ.js.map +7 -0
- package/dist/chunk-5YPJDKI6.js +170 -0
- package/dist/chunk-5YPJDKI6.js.map +7 -0
- package/dist/{chunk-GHS6XYSQ.js → chunk-6FZ7EIP5.js} +6 -6
- package/dist/{chunk-LMH4BAKD.js → chunk-6JS2SZJ5.js} +12 -10
- package/dist/{chunk-LMH4BAKD.js.map → chunk-6JS2SZJ5.js.map} +2 -2
- package/dist/chunk-6UISDSQ6.js +229 -0
- package/dist/chunk-6UISDSQ6.js.map +7 -0
- package/dist/chunk-AADI6MVB.js +245 -0
- package/dist/chunk-AADI6MVB.js.map +7 -0
- package/dist/{chunk-22NCU4NL.js → chunk-AL43JFHF.js} +2 -2
- package/dist/chunk-ALX3M6E3.js +368 -0
- package/dist/chunk-ALX3M6E3.js.map +7 -0
- package/dist/chunk-APWLBR4J.js +173 -0
- package/dist/chunk-APWLBR4J.js.map +7 -0
- package/dist/chunk-B26VSXYC.js +297 -0
- package/dist/chunk-B26VSXYC.js.map +7 -0
- package/dist/chunk-B3ZH3IZR.js +82 -0
- package/dist/chunk-B3ZH3IZR.js.map +7 -0
- package/dist/chunk-BA2ER7NA.js +169 -0
- package/dist/chunk-BA2ER7NA.js.map +7 -0
- package/dist/chunk-BAVPQSVQ.js +190 -0
- package/dist/chunk-BAVPQSVQ.js.map +7 -0
- package/dist/{chunk-44HPUTOU.js → chunk-CEAD4W2I.js} +6 -6
- package/dist/chunk-CTBCZ6QP.js +368 -0
- package/dist/chunk-CTBCZ6QP.js.map +7 -0
- package/dist/chunk-D2BSCPOZ.js +204 -0
- package/dist/chunk-D2BSCPOZ.js.map +7 -0
- package/dist/chunk-DBTSLS2U.js +171 -0
- package/dist/chunk-DBTSLS2U.js.map +7 -0
- package/dist/chunk-DUHSH5IA.js +392 -0
- package/dist/chunk-DUHSH5IA.js.map +7 -0
- package/dist/chunk-E3XF2JYD.js +175 -0
- package/dist/chunk-E3XF2JYD.js.map +7 -0
- package/dist/chunk-E6FGQYBA.js +2 -0
- package/dist/{chunk-Y7O6BIKA.js → chunk-EAVYCN2X.js} +3 -3
- package/dist/chunk-EG2LH2D6.js +368 -0
- package/dist/chunk-EG2LH2D6.js.map +7 -0
- package/dist/chunk-EJCS2A67.js +248 -0
- package/dist/chunk-EJCS2A67.js.map +7 -0
- package/dist/chunk-ENK72MDX.js +247 -0
- package/dist/chunk-ENK72MDX.js.map +7 -0
- package/dist/chunk-ETY2K3PP.js +185 -0
- package/dist/chunk-ETY2K3PP.js.map +7 -0
- package/dist/chunk-FVU5ETHN.js +244 -0
- package/dist/chunk-FVU5ETHN.js.map +7 -0
- package/dist/chunk-FWORTALJ.js +392 -0
- package/dist/chunk-FWORTALJ.js.map +7 -0
- package/dist/chunk-G3AQILQL.js +377 -0
- package/dist/chunk-G3AQILQL.js.map +7 -0
- package/dist/chunk-GFOHPOWP.js +8 -0
- package/dist/chunk-GG2YLBBY.js +211 -0
- package/dist/chunk-GG2YLBBY.js.map +7 -0
- package/dist/chunk-GULF27HF.js +204 -0
- package/dist/chunk-GULF27HF.js.map +7 -0
- package/dist/chunk-I54HXPPH.js +242 -0
- package/dist/chunk-I54HXPPH.js.map +7 -0
- package/dist/chunk-I67XBOU7.js +241 -0
- package/dist/chunk-I67XBOU7.js.map +7 -0
- package/dist/chunk-I7E74Y7Y.js +368 -0
- package/dist/chunk-I7E74Y7Y.js.map +7 -0
- package/dist/chunk-IGMG5I7K.js +204 -0
- package/dist/chunk-IGMG5I7K.js.map +7 -0
- package/dist/chunk-JSVDUJOF.js +418 -0
- package/dist/chunk-JSVDUJOF.js.map +7 -0
- package/dist/chunk-JWEDQMOH.js +204 -0
- package/dist/chunk-JWEDQMOH.js.map +7 -0
- package/dist/chunk-K7CQ2PRH.js +243 -0
- package/dist/chunk-K7CQ2PRH.js.map +7 -0
- package/dist/chunk-KIDTSHLT.js +3239 -0
- package/dist/chunk-KIDTSHLT.js.map +7 -0
- package/dist/chunk-KIKLCSNJ.js +3 -0
- package/dist/chunk-KIKLCSNJ.js.map +7 -0
- package/dist/chunk-KUTFS7K7.js +170 -0
- package/dist/chunk-KUTFS7K7.js.map +7 -0
- package/dist/chunk-L25HPU52.js +229 -0
- package/dist/chunk-L25HPU52.js.map +7 -0
- package/dist/{chunk-WXAII75O.js → chunk-LJ5HWLFA.js} +2 -2
- package/dist/{chunk-WXAII75O.js.map → chunk-LJ5HWLFA.js.map} +1 -1
- package/dist/chunk-LNZHKQQB.js +175 -0
- package/dist/chunk-LNZHKQQB.js.map +7 -0
- package/dist/{chunk-LVH4CKV3.js → chunk-LSXQD3LS.js} +3 -3
- package/dist/chunk-LW7FUR35.js +368 -0
- package/dist/chunk-LW7FUR35.js.map +7 -0
- package/dist/chunk-MCIHORAJ.js +229 -0
- package/dist/chunk-MCIHORAJ.js.map +7 -0
- package/dist/chunk-MD3SFR65.js +418 -0
- package/dist/chunk-MD3SFR65.js.map +7 -0
- package/dist/chunk-MGYKF4CA.js +175 -0
- package/dist/chunk-MGYKF4CA.js.map +7 -0
- package/dist/chunk-N7NGXLLM.js +368 -0
- package/dist/chunk-N7NGXLLM.js.map +7 -0
- package/dist/chunk-NEW2Q7FF.js +101 -0
- package/dist/chunk-NEW2Q7FF.js.map +7 -0
- package/dist/chunk-NQH6RQYV.js +250 -0
- package/dist/chunk-NQH6RQYV.js.map +7 -0
- package/dist/chunk-NSXLBNK4.js +238 -0
- package/dist/chunk-NSXLBNK4.js.map +7 -0
- package/dist/chunk-OIEY3JII.js +233 -0
- package/dist/chunk-OIEY3JII.js.map +7 -0
- package/dist/chunk-OKPKENUF.js +211 -0
- package/dist/chunk-OKPKENUF.js.map +7 -0
- package/dist/chunk-OY4ZZY7W.js +218 -0
- package/dist/chunk-OY4ZZY7W.js.map +7 -0
- package/dist/chunk-QQNGYZLJ.js +173 -0
- package/dist/chunk-QQNGYZLJ.js.map +7 -0
- package/dist/chunk-RE5FCGM4.js +233 -0
- package/dist/chunk-RE5FCGM4.js.map +7 -0
- package/dist/chunk-RTUIJYIL.js +368 -0
- package/dist/chunk-RTUIJYIL.js.map +7 -0
- package/dist/chunk-RVP4DE3X.js +368 -0
- package/dist/chunk-RVP4DE3X.js.map +7 -0
- package/dist/chunk-RZNHWRZX.js +175 -0
- package/dist/chunk-RZNHWRZX.js.map +7 -0
- package/dist/chunk-SI4KACA7.js +368 -0
- package/dist/chunk-SI4KACA7.js.map +7 -0
- package/dist/chunk-SIN26ESQ.js +392 -0
- package/dist/chunk-SIN26ESQ.js.map +7 -0
- package/dist/chunk-SXLM67S4.js +185 -0
- package/dist/chunk-SXLM67S4.js.map +7 -0
- package/dist/chunk-SZDSSMHM.js +218 -0
- package/dist/chunk-SZDSSMHM.js.map +7 -0
- package/dist/chunk-TIVNHKKC.js +418 -0
- package/dist/chunk-TIVNHKKC.js.map +7 -0
- package/dist/chunk-TXJNAXHT.js +418 -0
- package/dist/chunk-TXJNAXHT.js.map +7 -0
- package/dist/chunk-U2CRYG2Y.js +368 -0
- package/dist/chunk-U2CRYG2Y.js.map +7 -0
- package/dist/chunk-UAZ7ATZ5.js +770 -0
- package/dist/chunk-UAZ7ATZ5.js.map +7 -0
- package/dist/chunk-UFGJPRGL.js +104 -0
- package/dist/chunk-UFGJPRGL.js.map +7 -0
- package/dist/chunk-UI7G5S4O.js +211 -0
- package/dist/chunk-UI7G5S4O.js.map +7 -0
- package/dist/{chunk-MZMRYCS6.js → chunk-WQ7OXFOF.js} +2 -2
- package/dist/chunk-WVWSLJ4A.js +160 -0
- package/dist/chunk-WVWSLJ4A.js.map +7 -0
- package/dist/chunk-X2FGXM6T.js +657 -0
- package/dist/chunk-X2FGXM6T.js.map +7 -0
- package/dist/chunk-XJ4X6OZN.js +175 -0
- package/dist/chunk-XJ4X6OZN.js.map +7 -0
- package/dist/chunk-YCSUWIOE.js +218 -0
- package/dist/chunk-YCSUWIOE.js.map +7 -0
- package/dist/chunk-YG7YEPYG.js +238 -0
- package/dist/chunk-YG7YEPYG.js.map +7 -0
- package/dist/chunk-YMUYQTBG.js +170 -0
- package/dist/chunk-YMUYQTBG.js.map +7 -0
- package/dist/chunk-YYRMCQGB.js +347 -0
- package/dist/chunk-YYRMCQGB.js.map +7 -0
- package/dist/chunk-YYU64C2K.js +233 -0
- package/dist/chunk-YYU64C2K.js.map +7 -0
- package/dist/{chunk-OS3ZND7O.js → chunk-ZSLV7QHA.js} +2 -2
- package/dist/chunk-ZYWHNLZW.js +200 -0
- package/dist/chunk-ZYWHNLZW.js.map +7 -0
- package/dist/slicc-ui.js +4868 -18113
- package/dist/slicc-ui.js.map +4 -4
- package/dist/types/app/app.d.ts +0 -2
- package/dist/types/components/code-theme.d.ts +12 -0
- package/dist/types/components/code-view.d.ts +3 -2
- package/dist/types/ui.d.ts +0 -2
- package/package.json +23 -33
- package/dist/chunk-442GNVWR.js.map +0 -7
- package/dist/chunk-5G3X76IR.js +0 -8
- package/dist/chunk-64K5VONJ.js +0 -11
- package/dist/chunk-64K5VONJ.js.map +0 -7
- package/dist/chunk-6T3O5K6R.js +0 -8
- package/dist/chunk-BHAGWMDD.js +0 -8
- package/dist/chunk-BHAGWMDD.js.map +0 -7
- package/dist/chunk-CGS66GRP.js +0 -11
- package/dist/chunk-CGS66GRP.js.map +0 -7
- package/dist/chunk-CONYKGKV.js +0 -11
- package/dist/chunk-CONYKGKV.js.map +0 -7
- package/dist/chunk-CU7BC2RI.js +0 -11
- package/dist/chunk-CU7BC2RI.js.map +0 -7
- package/dist/chunk-FXM4K5WL.js +0 -19
- package/dist/chunk-FXM4K5WL.js.map +0 -7
- package/dist/chunk-I4OYHPAU.js +0 -11
- package/dist/chunk-I4OYHPAU.js.map +0 -7
- package/dist/chunk-KMP5HO3E.js +0 -11
- package/dist/chunk-KMP5HO3E.js.map +0 -7
- package/dist/chunk-KWPU2PY3.js +0 -14
- package/dist/chunk-KWPU2PY3.js.map +0 -7
- package/dist/chunk-LBXW6XNL.js +0 -18
- package/dist/chunk-LBXW6XNL.js.map +0 -7
- package/dist/chunk-LII3WY6Y.js +0 -11
- package/dist/chunk-LII3WY6Y.js.map +0 -7
- package/dist/chunk-LY7WVBCB.js +0 -10
- package/dist/chunk-LY7WVBCB.js.map +0 -7
- package/dist/chunk-NLDFGCIL.js +0 -11
- package/dist/chunk-NLDFGCIL.js.map +0 -7
- package/dist/chunk-S5EGO4NA.js +0 -11
- package/dist/chunk-S5EGO4NA.js.map +0 -7
- package/dist/chunk-TAZBKRHT.js +0 -10
- package/dist/chunk-TAZBKRHT.js.map +0 -7
- package/dist/chunk-UCIBH53C.js +0 -11
- package/dist/chunk-UCIBH53C.js.map +0 -7
- package/dist/chunk-XZM23TK4.js +0 -11
- package/dist/chunk-XZM23TK4.js.map +0 -7
- package/dist/chunk-YX6SI5VA.js +0 -11
- package/dist/chunk-YX6SI5VA.js.map +0 -7
- package/dist/types/app/grammars.d.ts +0 -6
- /package/dist/{chunk-D2HYQOCH.js.map → chunk-2GER7OHY.js.map} +0 -0
- /package/dist/{chunk-JPIG5BAD.js.map → chunk-2JLDRHGH.js.map} +0 -0
- /package/dist/{chunk-GHS6XYSQ.js.map → chunk-6FZ7EIP5.js.map} +0 -0
- /package/dist/{chunk-22NCU4NL.js.map → chunk-AL43JFHF.js.map} +0 -0
- /package/dist/{chunk-44HPUTOU.js.map → chunk-CEAD4W2I.js.map} +0 -0
- /package/dist/{chunk-5G3X76IR.js.map → chunk-E6FGQYBA.js.map} +0 -0
- /package/dist/{chunk-Y7O6BIKA.js.map → chunk-EAVYCN2X.js.map} +0 -0
- /package/dist/{chunk-6T3O5K6R.js.map → chunk-GFOHPOWP.js.map} +0 -0
- /package/dist/{chunk-LVH4CKV3.js.map → chunk-LSXQD3LS.js.map} +0 -0
- /package/dist/{chunk-MZMRYCS6.js.map → chunk-WQ7OXFOF.js.map} +0 -0
- /package/dist/{chunk-OS3ZND7O.js.map → chunk-ZSLV7QHA.js.map} +0 -0
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../node_modules/@pierre/diffs/src/editor/utils.ts", "../node_modules/@pierre/diffs/src/highlighter/shiki-editor.ts", "../node_modules/@pierre/diffs/src/highlighter/shiki-stream.ts", "../node_modules/@pierre/diffs/src/highlighter/backends/shiki.ts"],
|
|
4
|
+
"sourcesContent": ["export function h<K extends keyof HTMLElementTagNameMap>(\n tagName: K,\n props?: {\n style?: string | Partial<CSSStyleDeclaration>;\n dataset?: DOMStringMap | string[] | string;\n children?: (Node | string)[];\n } & Partial<Omit<HTMLElementTagNameMap[K], 'style' | 'dataset' | 'children'>>,\n parent?: Element | ShadowRoot | DocumentFragment\n): HTMLElementTagNameMap[K] {\n const { style, dataset, children, ...attrs } = props ?? {};\n const el = document.createElement(tagName);\n Object.assign(el, attrs);\n if (style !== undefined) {\n if (typeof style === 'string') {\n el.style.cssText = style;\n } else {\n Object.assign(el.style, style);\n }\n }\n if (dataset !== undefined) {\n if (typeof dataset === 'string') {\n el.dataset[dataset] = '';\n } else if (Array.isArray(dataset)) {\n dataset.forEach((key) => {\n el.dataset[key] = '';\n });\n } else {\n Object.assign(el.dataset, dataset);\n }\n }\n if (children !== undefined) {\n el.replaceChildren(...children);\n }\n if (parent !== undefined) {\n parent.appendChild(el);\n }\n return el;\n}\n\nexport function isPromise<T>(value: T | Promise<T>): value is Promise<T> {\n return (\n typeof value === 'object' &&\n value !== null &&\n 'then' in value &&\n typeof value.then === 'function'\n );\n}\n\nexport function addEventListener<K extends keyof HTMLElementEventMap>(\n el: HTMLElement,\n event: K,\n listener: (this: HTMLElement, evt: HTMLElementEventMap[K]) => void,\n options?: AddEventListenerOptions\n): () => void;\nexport function addEventListener<K extends keyof DocumentEventMap>(\n el: Document,\n event: K,\n listener: (this: Document, evt: DocumentEventMap[K]) => void,\n options?: AddEventListenerOptions\n): () => void;\nexport function addEventListener<K extends keyof WindowEventMap>(\n el: Window,\n event: K,\n listener: (this: Window, evt: WindowEventMap[K]) => void,\n options?: AddEventListenerOptions\n): () => void;\nexport function addEventListener<K extends keyof MediaQueryListEventMap>(\n el: MediaQueryList,\n event: K,\n listener: (this: MediaQueryList, evt: MediaQueryListEventMap[K]) => void,\n options?: AddEventListenerOptions\n): () => void;\nexport function addEventListener(\n el: HTMLElement | Document | ShadowRoot | Window | MediaQueryList,\n event: string,\n listener: EventListener,\n options?: AddEventListenerOptions\n) {\n el.addEventListener(event, listener, options);\n return () => el.removeEventListener(event, listener, options);\n}\n\nexport function getLineNumberAttr(\n el: HTMLElement,\n key = 'line'\n): number | undefined {\n const value = el.dataset[key];\n if (value === undefined) {\n return undefined;\n }\n const lineNumber = parseInt(value, 10);\n if (Number.isNaN(lineNumber)) {\n return undefined;\n }\n return lineNumber;\n}\n\nexport function clampDomOffset(node: Node, offset: number): number {\n if (node.nodeType === 3) {\n const length = (node as Text).textContent?.length ?? 0;\n return Math.max(0, Math.min(offset, length));\n }\n if (node.nodeType === 1) {\n return Math.max(0, Math.min(offset, node.childNodes.length));\n }\n return 0;\n}\n\nexport function extend<T extends object>(obj: T, attrs: Partial<T>): T {\n return Object.assign(obj, attrs);\n}\n\n// oxlint-disable-next-line typescript/no-explicit-any\nexport function debounce<T extends (...args: any[]) => void>(\n func: T,\n wait: number\n): (...args: Parameters<T>) => void {\n let timeout: ReturnType<typeof setTimeout>;\n return function (this: ThisType<T>, ...args: Parameters<T>) {\n clearTimeout(timeout);\n timeout = setTimeout(() => func.apply(this, args), wait);\n };\n}\n\nexport function round(value: number, precision: number = 1000): number {\n return Math.round(value * precision) / precision;\n}\n\nexport function endsWithLineBreak(text: string): boolean {\n return text.endsWith('\\n') || text.endsWith('\\r');\n}\n\n// Creates an Intl.Segmenter, or undefined when the engine lacks support.\n// Callers must fall back to a degraded path when this returns undefined.\nexport function createSegmenter(\n options: Intl.SegmenterOptions\n): Intl.Segmenter | undefined {\n if (typeof Intl === 'undefined' || typeof Intl.Segmenter !== 'function') {\n return undefined;\n }\n return new Intl.Segmenter(undefined, options);\n}\n\n// Lazily created and cached grapheme segmenter. Avoids constructing\n// Intl.Segmenter at import time so importing the editor never throws on\n// engines that lack it. Undefined when the engine has no Intl.Segmenter.\nlet graphemeSegmenter: Intl.Segmenter | undefined;\nlet graphemeSegmenterInit = false;\nexport function getGraphemeSegmenter(): Intl.Segmenter | undefined {\n if (!graphemeSegmenterInit) {\n graphemeSegmenter = createSegmenter({ granularity: 'grapheme' });\n graphemeSegmenterInit = true;\n }\n return graphemeSegmenter;\n}\n\n// lookup the scroll container for the given element\nexport function lookupScrollContainer(\n element: HTMLElement\n): HTMLElement | Document {\n const ownerDocument = element.ownerDocument;\n let parentElement = element.parentElement;\n while (\n parentElement != null &&\n parentElement !== ownerDocument.body &&\n parentElement !== ownerDocument.documentElement\n ) {\n const overflowY =\n parentElement.ownerDocument.defaultView?.getComputedStyle(\n parentElement\n ).overflowY;\n if (\n overflowY === 'auto' ||\n overflowY === 'scroll' ||\n overflowY === 'overlay'\n ) {\n return parentElement;\n }\n parentElement = parentElement.parentElement;\n }\n return ownerDocument;\n}\n", "import type { HighlighterCore } from 'shiki/core';\nimport {\n EncodedTokenMetadata,\n type IGrammar,\n INITIAL,\n type StateStack,\n} from 'shiki/textmate';\n\nimport type { TextDocumentChange } from '../editor/textDocument';\nimport { debounce } from '../editor/utils';\nimport type { HighlightedToken, RenderRange } from '../types';\nimport type { DiffsEditorTokenizer } from './DiffsEditorTokenizer';\nimport type { DiffsEditorTokenizerOptions } from './tokenizer-types';\nimport type { DiffsHighlighter } from './types';\n\n// Timed aborts can leave incomplete grammar state; limit line length instead.\nconst TOKENIZE_TIME_LIMIT = 0;\nlet nextTokenizerId = 0;\n\n/** TextMate state caching and background work for a single editable document. */\nexport class ShikiEditorTokenizer implements DiffsEditorTokenizer {\n #highlighter: HighlighterCore;\n #grammar: IGrammar | undefined;\n #themeName: string;\n #colorMap: string[];\n #textDocument: DiffsEditorTokenizerOptions['textDocument'];\n #tokenizeMaxLineLength: number;\n #onDeferTokenize: DiffsEditorTokenizerOptions['onDeferTokenize'];\n #matchBrackets: boolean;\n #debug: boolean;\n #isCleanedUp = false;\n #stateStack: StateStack[] = [INITIAL]; // cached state stack by line index\n #comparisonStateStack: StateStack[] = [];\n #comparisonStateStackStart = 0;\n #comparisonLineChanges: NonNullable<\n TextDocumentChange['changedLineChanges']\n > = [];\n #lastLine: number = -1;\n #isStopped: boolean = true;\n #isPaused: boolean = false;\n #backgroundJobId: number = 0;\n #tokenizerId = ++nextTokenizerId;\n #backgroundPrebuildEndLine = -1;\n #pendingPrebuildEndLine = -1;\n #backgroundChangedLineRanges: readonly [number, number][] | undefined;\n #backgroundChangedRangeIndex: number = 0;\n #bracketIgnoredRanges: ([number, number][] | null | undefined)[] = [];\n #isMessageListenerAttached: boolean = false;\n\n #prebuildStateStack = debounce(async (renderRange?: RenderRange) => {\n // A queued timer may run after the highlighter is disposed.\n if (this.#isCleanedUp) {\n return;\n }\n const { startingLine = 0, totalLines = Infinity } = renderRange ?? {};\n const endLine = Math.min(\n totalLines === Infinity ? Infinity : startingLine + totalLines,\n this.#textDocument.lineCount\n );\n if (\n this.#grammar == null &&\n !isGrammarlessLanguage(this.#textDocument.languageId)\n ) {\n await this.backend?.loadLanguages([this.#textDocument.languageId]);\n if (this.#isCleanedUp) {\n return;\n }\n this.#grammar = this.#highlighter.getLanguage(\n this.#textDocument.languageId\n );\n }\n this.#ensureActiveTheme();\n this.#scheduleStatePrebuild(endLine);\n }, 500);\n\n #onMessage = ({ data }: MessageEvent<unknown>) => {\n if (typeof data !== 'object' || data === null) {\n return;\n }\n const { type, tokenizerId, jobId } = data as {\n type?: unknown;\n tokenizerId?: unknown;\n jobId?: unknown;\n };\n if (\n type === 'tokenize' &&\n tokenizerId === this.#tokenizerId &&\n typeof jobId === 'number' &&\n jobId === this.#backgroundJobId\n ) {\n if (this.#backgroundPrebuildEndLine >= 0) {\n this.#backgroundPrebuild(jobId);\n } else {\n this.#backgroundTokenize(jobId);\n }\n }\n };\n\n getStringCommentRegexpRangesInLine(\n lineIndex: number\n ): [number, number][] | null {\n if (\n !this.#matchBrackets ||\n lineIndex < 0 ||\n lineIndex >= this.#textDocument.lineCount\n ) {\n return null;\n }\n this.#ensureGrammar();\n if (this.#grammar == null) {\n return null;\n }\n if (this.#bracketIgnoredRanges[lineIndex] === undefined) {\n this.#buildStateStack(lineIndex);\n const state = this.#stateStack[lineIndex] ?? INITIAL;\n const result = this.#tokenizeLineAt(lineIndex, state);\n this.#stateStack[lineIndex + 1] = result.state;\n }\n return this.#bracketIgnoredRanges[lineIndex] ?? null;\n }\n\n constructor(\n highlighter: HighlighterCore,\n options: DiffsEditorTokenizerOptions,\n private readonly backend?: Pick<\n DiffsHighlighter,\n 'getTheme' | 'loadLanguages'\n >\n ) {\n this.#highlighter = highlighter;\n this.#textDocument = options.textDocument;\n this.#themeName = options.theme;\n this.#colorMap = [];\n // The cutoff must match codeToTokens and Highlights: length >= limit.\n this.#tokenizeMaxLineLength = options.tokenizeMaxLineLength ?? 1000;\n this.#onDeferTokenize = options.onDeferTokenize;\n this.#matchBrackets = options.matchBrackets !== false;\n this.#debug = options.__debug ?? false;\n this.#ensureGrammar();\n this.#ensureActiveTheme();\n }\n\n setTheme(themeName: string): void {\n if (this.#themeName === themeName) return;\n this.#themeName = themeName;\n this.#ensureActiveTheme();\n this.stopBackgroundTokenize();\n this.#stateStack = [INITIAL];\n this.#comparisonStateStack = [];\n this.#comparisonStateStackStart = 0;\n this.#comparisonLineChanges = [];\n if (this.#grammar != null && this.#textDocument.lineCount > 0) {\n this.#scheduleBackgroundTokenize(0);\n }\n }\n\n // Dual-theme SSR can change the shared highlighter's active theme. Restore\n // the editor theme before tokenizing so color indices match its color map.\n #ensureActiveTheme(): void {\n if (this.#themeName === '') {\n return;\n }\n // Resolving a theme does not attach it to Shiki until the backend uses it.\n this.backend?.getTheme(this.#themeName);\n const { colorMap } = this.#highlighter.setTheme(this.#themeName);\n this.#colorMap = colorMap;\n }\n\n dispose(): void {\n this.#isCleanedUp = true;\n this.stopBackgroundTokenize();\n this.#detachMessageListener();\n }\n\n // Prebuild viewport state with prebuildStateStack before the first edit.\n tokenize(\n change: TextDocumentChange,\n renderRange?: RenderRange,\n hostRealignsRows = false\n ): Map<number, Array<HighlightedToken>> {\n this.#ensureGrammar();\n this.#ensureActiveTheme();\n if (\n this.#grammar == null &&\n !isGrammarlessLanguage(this.#textDocument.languageId)\n ) {\n throw new Error(\n `Grammar for language \"${this.#textDocument.languageId}\" not loaded`\n );\n }\n\n const { lineCount } = this.#textDocument;\n const { startingLine = 0, totalLines = Infinity } = renderRange ?? {};\n const renderRangeEndLine =\n totalLines === Infinity\n ? lineCount\n : Math.min(startingLine + totalLines, lineCount);\n\n const dirtyStart = change.startLine;\n const viewStart = Math.max(startingLine, dirtyStart);\n const crossesRenderRangeEnd =\n renderRange != null &&\n totalLines !== Infinity &&\n change.lineDelta > 0 &&\n dirtyStart < renderRangeEndLine &&\n change.endLine >= renderRangeEndLine;\n const canReuseCachedStates =\n change.lineDelta === 0 &&\n (change.changedLineChanges?.every(([, , lineDelta]) => lineDelta === 0) ??\n true);\n if (this.#matchBrackets && !canReuseCachedStates) {\n // Structural edits shift line indexes; only the unchanged prefix is valid.\n this.#bracketIgnoredRanges.length = Math.min(\n this.#bracketIgnoredRanges.length,\n change.startLine\n );\n }\n const canReuseShiftedStates =\n hostRealignsRows && change.lineDelta !== 0 && dirtyStart >= startingLine;\n const canCacheTokenizedStates =\n canReuseCachedStates || renderRange == null || dirtyStart >= viewStart;\n const changedLineRanges: readonly [number, number][] =\n change.changedLineRanges ?? [[dirtyStart, change.endLine]];\n this.#comparisonStateStack = [];\n this.#comparisonStateStackStart = 0;\n this.#comparisonLineChanges = [];\n let offscreenSyncEnd = -1;\n if (dirtyStart < viewStart) {\n for (const [rangeStart, rangeEnd] of changedLineRanges) {\n if (rangeStart < viewStart) {\n offscreenSyncEnd = Math.max(\n offscreenSyncEnd,\n Math.min(rangeEnd, viewStart - 1)\n );\n }\n }\n }\n const shouldFlushOffscreenLines =\n offscreenSyncEnd >= dirtyStart &&\n (canReuseCachedStates || change.lineDelta < 0);\n if (canReuseCachedStates) {\n this.#buildStateStack(dirtyStart);\n } else {\n this.#shiftComparisonStateStack(change);\n if (renderRange == null || dirtyStart >= viewStart) {\n this.#buildStateStack(viewStart);\n }\n }\n\n let changedRangeIndex = 0;\n let currentChangedRangeEnd = changedLineRanges[changedRangeIndex][1];\n let backgroundStartLine: number | undefined;\n let backgroundChangedRangeIndex = 0;\n let line = canReuseCachedStates\n ? changedLineRanges[changedRangeIndex][0]\n : viewStart;\n let settled = false;\n const dirtyLines: Map<number, Array<HighlightedToken>> = new Map();\n const offscreenDirtyLines:\n | Map<number, Array<HighlightedToken>>\n | undefined = shouldFlushOffscreenLines ? new Map() : undefined;\n if (offscreenDirtyLines != null && !canReuseCachedStates) {\n const offscreenEnd = Math.min(\n offscreenSyncEnd + 1,\n viewStart,\n renderRangeEndLine\n );\n if (offscreenEnd > dirtyStart) {\n this.#buildStateStack(offscreenEnd);\n let offscreenLine = dirtyStart;\n let offscreenState = this.#stateStack[offscreenLine] ?? INITIAL;\n for (; offscreenLine < offscreenEnd; offscreenLine++) {\n const resolved = this.#tokenizeLineAt(offscreenLine, offscreenState);\n offscreenState = resolved.state;\n offscreenDirtyLines.set(offscreenLine, resolved.resolvedTokens);\n }\n this.#stateStack[offscreenEnd] = offscreenState;\n }\n }\n // Read state after the offscreen flush; a deletion may have invalidated\n // the viewport's starting state inside a block comment or template literal.\n let state = this.#stateStack[line] ?? INITIAL;\n for (; line < renderRangeEndLine; ) {\n const previousNextState = canReuseCachedStates\n ? this.#stateStack[line + 1]\n : canReuseShiftedStates\n ? this.#getPreviousEndState(line + 1)\n : undefined;\n if (canCacheTokenizedStates) {\n this.#stateStack[line] = state;\n }\n\n const { resolvedTokens, state: nextState } = this.#tokenizeLineAt(\n line,\n state\n );\n state = nextState;\n\n if (line >= viewStart) {\n dirtyLines.set(line, resolvedTokens);\n } else {\n offscreenDirtyLines?.set(line, resolvedTokens);\n }\n\n if (canCacheTokenizedStates) {\n this.#stateStack[line + 1] = state;\n }\n settled =\n line >= currentChangedRangeEnd &&\n (canReuseCachedStates || canReuseShiftedStates) &&\n previousNextState != null &&\n state.equals(previousNextState);\n if (settled) {\n changedRangeIndex++;\n const nextRange = changedLineRanges[changedRangeIndex];\n if (nextRange == null) {\n break;\n }\n if (nextRange[0] >= renderRangeEndLine) {\n backgroundStartLine = nextRange[0];\n backgroundChangedRangeIndex = changedRangeIndex;\n break;\n }\n let nextState: StateStack | undefined = this.#stateStack[nextRange[0]];\n if (canReuseShiftedStates) {\n for (\n let stateLine = line + 2;\n stateLine <= nextRange[0];\n stateLine++\n ) {\n nextState = this.#getPreviousEndState(stateLine);\n if (nextState == null) {\n break;\n }\n this.#stateStack[stateLine] = nextState;\n }\n }\n if (nextState == null) {\n currentChangedRangeEnd = nextRange[1];\n line++;\n } else {\n line = nextRange[0];\n state = nextState;\n currentChangedRangeEnd = nextRange[1];\n }\n settled = false;\n continue;\n }\n line++;\n }\n\n if (canCacheTokenizedStates) {\n if (line < renderRangeEndLine) {\n this.#stateStack[line + 1] = state;\n } else {\n this.#stateStack[line] = state;\n }\n }\n\n if (settled && canReuseShiftedStates && backgroundStartLine == null) {\n for (let stateLine = line + 2; stateLine <= lineCount; stateLine++) {\n const previousState = this.#getPreviousEndState(stateLine);\n if (previousState == null) {\n break;\n }\n this.#stateStack[stateLine] = previousState;\n }\n this.#comparisonStateStack = [];\n this.#comparisonStateStackStart = 0;\n this.#comparisonLineChanges = [];\n }\n\n if (offscreenDirtyLines != null && offscreenDirtyLines.size > 0) {\n this.#onDeferTokenize(offscreenDirtyLines);\n }\n\n if (backgroundStartLine != null) {\n if (this.#matchBrackets && canReuseCachedStates) {\n this.#bracketIgnoredRanges.length = Math.min(\n this.#bracketIgnoredRanges.length,\n backgroundStartLine\n );\n }\n this.#scheduleBackgroundTokenize(\n backgroundStartLine,\n changedLineRanges,\n backgroundChangedRangeIndex\n );\n } else if (!settled && line < lineCount) {\n const backgroundLine =\n crossesRenderRangeEnd && dirtyStart >= viewStart\n ? renderRangeEndLine\n : dirtyStart < viewStart && !canReuseCachedStates\n ? dirtyStart\n : line;\n if (this.#matchBrackets && canReuseCachedStates) {\n this.#bracketIgnoredRanges.length = Math.min(\n this.#bracketIgnoredRanges.length,\n backgroundLine\n );\n }\n this.#scheduleBackgroundTokenize(\n backgroundLine,\n changedLineRanges,\n changedRangeIndex\n );\n }\n\n return dirtyLines;\n }\n\n prebuildStateStack(renderRange?: RenderRange): void {\n this.#ensureGrammar();\n this.#prebuildStateStack(renderRange);\n }\n\n stopBackgroundTokenize(): void {\n this.#pendingPrebuildEndLine = -1;\n if (this.#isStopped) {\n return;\n }\n this.#isStopped = true;\n this.#isPaused = false;\n this.#lastLine = -1;\n this.#backgroundPrebuildEndLine = -1;\n this.#backgroundChangedLineRanges = undefined;\n this.#backgroundChangedRangeIndex = 0;\n this.#comparisonStateStack = [];\n this.#comparisonStateStackStart = 0;\n this.#comparisonLineChanges = [];\n this.#detachMessageListener();\n }\n\n pauseBackgroundTokenize(): void {\n if (this.#isStopped || this.#isPaused) {\n return;\n }\n if (this.#debug) {\n console.log('[diffs/editor] background tokenization paused', {\n jobId: this.#backgroundJobId,\n });\n }\n this.#isPaused = true;\n }\n\n resumeBackgroundTokenize(): void {\n if (\n this.#isStopped ||\n !this.#isPaused ||\n this.#grammar == null ||\n this.#lastLine < 0\n ) {\n return;\n }\n if (this.#debug) {\n console.log('[diffs/editor] background tokenization resumed', {\n jobId: this.#backgroundJobId,\n });\n }\n this.#isPaused = false;\n this.#postTokenizeMessage(this.#backgroundJobId);\n }\n\n #ensureGrammar(): void {\n if (\n this.#grammar == null &&\n !isGrammarlessLanguage(this.#textDocument.languageId) &&\n this.#highlighter\n .getLoadedLanguages()\n .includes(this.#textDocument.languageId)\n ) {\n this.#grammar = this.#highlighter.getLanguage(\n this.#textDocument.languageId\n );\n }\n }\n\n #attachMessageListener(): void {\n if (this.#isMessageListenerAttached) {\n return;\n }\n globalThis.addEventListener('message', this.#onMessage);\n this.#isMessageListenerAttached = true;\n }\n\n #detachMessageListener(): void {\n if (!this.#isMessageListenerAttached) {\n return;\n }\n globalThis.removeEventListener('message', this.#onMessage);\n this.#isMessageListenerAttached = false;\n }\n\n #postTokenizeMessage(jobId: number): void {\n // use `postMessage` instead of `setTimeout(fn, 0)` to avoid 4ms delay\n globalThis.postMessage({\n type: 'tokenize',\n tokenizerId: this.#tokenizerId,\n jobId,\n });\n }\n\n #scheduleBackgroundTokenize(\n startLine: number,\n changedLineRanges?: readonly [number, number][],\n changedRangeIndex = 0\n ): void {\n if (isGrammarlessLanguage(this.#textDocument.languageId)) {\n return;\n }\n\n const jobId = ++this.#backgroundJobId;\n\n if (this.#debug) {\n console.log('[diffs/editor] background tokenization scheduled', {\n jobId,\n startLine,\n changedLineRanges,\n changedRangeIndex,\n });\n }\n\n this.#isStopped = false;\n this.#isPaused = false;\n this.#lastLine = startLine;\n if (this.#backgroundPrebuildEndLine >= 0) {\n this.#pendingPrebuildEndLine = Math.max(\n this.#pendingPrebuildEndLine,\n this.#backgroundPrebuildEndLine\n );\n }\n this.#backgroundPrebuildEndLine = -1;\n this.#backgroundChangedLineRanges = changedLineRanges;\n this.#backgroundChangedRangeIndex = changedRangeIndex;\n this.#attachMessageListener();\n this.#postTokenizeMessage(jobId);\n }\n\n #scheduleStatePrebuild(endLine: number): void {\n if (this.#grammar == null || this.#stateStack.length > endLine) {\n return;\n }\n // Extend an active prebuild, or retain the target until the foreground\n // edit job reconverges and releases the state cache.\n if (!this.#isStopped) {\n if (this.#backgroundPrebuildEndLine >= 0) {\n this.#backgroundPrebuildEndLine = Math.max(\n this.#backgroundPrebuildEndLine,\n endLine\n );\n } else {\n this.#pendingPrebuildEndLine = Math.max(\n this.#pendingPrebuildEndLine,\n endLine\n );\n }\n return;\n }\n\n const jobId = ++this.#backgroundJobId;\n this.#isStopped = false;\n this.#isPaused = false;\n this.#lastLine = this.#stateStack.length - 1;\n this.#backgroundPrebuildEndLine = endLine;\n this.#pendingPrebuildEndLine = -1;\n this.#backgroundChangedLineRanges = undefined;\n this.#backgroundChangedRangeIndex = 0;\n this.#attachMessageListener();\n this.#postTokenizeMessage(jobId);\n }\n\n #tokenizeLineAt(\n line: number,\n state: StateStack\n ): { resolvedTokens: Array<HighlightedToken>; state: StateStack } {\n const lineText = this.#textDocument.getLineText(line);\n if (lineText.length >= this.#tokenizeMaxLineLength) {\n console.warn(\n `[diffs] Line(${line}) too long to tokenize: ${lineText.length}`\n );\n this.#cacheBracketIgnoredRanges(line, null);\n return { resolvedTokens: [[0, '', lineText]], state };\n }\n if (this.#grammar == null || lineText === '' || lineText.trim() === '') {\n this.#cacheBracketIgnoredRanges(line, null);\n return { resolvedTokens: [[0, '', lineText]], state };\n }\n const result = tokenizeLine(\n this.#grammar,\n this.#colorMap,\n lineText,\n state,\n TOKENIZE_TIME_LIMIT,\n this.#matchBrackets\n );\n this.#cacheBracketIgnoredRanges(line, result.bracketIgnoredRanges);\n return {\n resolvedTokens: result.resolvedTokens,\n state: result.ruleStack,\n };\n }\n\n #cacheBracketIgnoredRanges(\n line: number,\n ranges: [number, number][] | null\n ): void {\n if (this.#matchBrackets) {\n this.#bracketIgnoredRanges[line] = ranges;\n }\n }\n\n // Preserve old end states as comparison-only sentinels, copying whichever\n // side of the edit is smaller. Index shifts are resolved lazily on lookup.\n #shiftComparisonStateStack(change: TextDocumentChange): void {\n const lineChanges =\n change.changedLineChanges ??\n ([[change.startLine, change.endLine, change.lineDelta]] as const);\n const comparisonStart = change.startLine + 1;\n const comparisonLength = this.#stateStack.length - comparisonStart;\n if (comparisonStart <= comparisonLength) {\n this.#comparisonStateStack = this.#stateStack;\n this.#comparisonStateStackStart = 0;\n this.#stateStack = this.#stateStack.slice(0, comparisonStart);\n } else {\n this.#comparisonStateStackStart = comparisonStart;\n this.#comparisonStateStack = this.#stateStack.slice(comparisonStart);\n this.#stateStack.length = Math.min(\n this.#stateStack.length,\n comparisonStart\n );\n }\n this.#comparisonLineChanges = lineChanges;\n }\n\n #getPreviousEndState(line: number): StateStack | undefined {\n let previousLine = line;\n for (\n let index = this.#comparisonLineChanges.length - 1;\n index >= 0;\n index--\n ) {\n const [startLine, endLine, lineDelta] =\n this.#comparisonLineChanges[index];\n if (lineDelta === 0) {\n continue;\n }\n if (previousLine > endLine) {\n previousLine -= lineDelta;\n } else if (previousLine > startLine) {\n return this.#stateStack[line];\n }\n }\n return (\n this.#comparisonStateStack[\n previousLine - this.#comparisonStateStackStart\n ] ?? this.#stateStack[line]\n );\n }\n\n #buildStateStack(endAt: number, timeBudget?: number): boolean {\n const boundedEndAt = Math.min(\n Math.max(0, endAt),\n this.#textDocument.lineCount\n );\n if (this.#stateStack.length > boundedEndAt || this.#grammar == null) {\n return true;\n }\n const startedAt = timeBudget == null ? 0 : performance.now();\n let line = this.#stateStack.length - 1;\n let state = this.#stateStack[line] ?? INITIAL;\n while (line < boundedEndAt) {\n this.#stateStack[line] = state;\n const lineText = this.#textDocument.getLineText(line);\n if (\n lineText.length < this.#tokenizeMaxLineLength &&\n lineText !== '' &&\n lineText.trim() !== ''\n ) {\n const result = tokenizeLine(\n this.#grammar,\n this.#colorMap,\n lineText,\n state,\n TOKENIZE_TIME_LIMIT,\n this.#matchBrackets,\n false\n );\n this.#cacheBracketIgnoredRanges(line, result.bracketIgnoredRanges);\n state = result.ruleStack;\n } else {\n this.#cacheBracketIgnoredRanges(line, null);\n }\n line++;\n this.#stateStack[line] = state;\n if (timeBudget != null && performance.now() - startedAt > timeBudget) {\n break;\n }\n }\n return line >= boundedEndAt;\n }\n\n #backgroundPrebuild(jobId: number): void {\n if (\n this.#isStopped ||\n this.#isPaused ||\n this.#grammar == null ||\n jobId !== this.#backgroundJobId\n ) {\n return;\n }\n\n this.#ensureActiveTheme();\n // State prebuilds intentionally omit rendered tokens and yield between\n // short chunks so a deep viewport does not monopolize the main thread.\n const complete = this.#buildStateStack(this.#backgroundPrebuildEndLine, 1);\n if (this.#isStopped || this.#isPaused || jobId !== this.#backgroundJobId) {\n return;\n }\n if (complete) {\n this.stopBackgroundTokenize();\n return;\n }\n this.#lastLine = this.#stateStack.length - 1;\n this.#postTokenizeMessage(jobId);\n }\n\n #backgroundTokenize(jobId: number) {\n if (\n this.#isStopped ||\n this.#isPaused ||\n this.#grammar == null ||\n jobId !== this.#backgroundJobId\n ) {\n return;\n }\n\n this.#ensureActiveTheme();\n\n const t = performance.now();\n const lines = new Map<number, Array<HighlightedToken>>();\n const totalLines = this.#textDocument.lineCount;\n const changedLineRanges = this.#backgroundChangedLineRanges;\n\n let line = this.#lastLine;\n let state = this.#stateStack[line] ?? INITIAL;\n let settled = false;\n let changedRangeIndex = this.#backgroundChangedRangeIndex;\n let currentChangedRangeEnd = changedLineRanges?.[changedRangeIndex]?.[1];\n for (; line < totalLines; ) {\n this.#stateStack[line] = state;\n\n const previousNextState =\n currentChangedRangeEnd != null\n ? this.#getPreviousEndState(line + 1)\n : undefined;\n const result = this.#tokenizeLineAt(line, state);\n lines.set(line, result.resolvedTokens);\n state = result.state;\n\n this.#stateStack[line + 1] = state;\n settled =\n currentChangedRangeEnd != null &&\n line >= currentChangedRangeEnd &&\n previousNextState != null &&\n state.equals(previousNextState);\n line++;\n if (settled) {\n changedRangeIndex++;\n const nextRange = changedLineRanges?.[changedRangeIndex];\n if (nextRange == null) {\n break;\n }\n currentChangedRangeEnd = nextRange[1];\n if (this.#stateStack[nextRange[0]] == null) {\n settled = false;\n } else {\n line = nextRange[0];\n state = this.#stateStack[line] ?? state;\n settled = false;\n continue;\n }\n }\n\n // limit the time of partial tokenize to 1ms\n if (performance.now() - t > 1) {\n break;\n }\n }\n\n this.#onDeferTokenize(lines);\n if (this.#isStopped || this.#isPaused || jobId !== this.#backgroundJobId) {\n return;\n }\n\n if (settled || line >= totalLines) {\n const pendingPrebuildEndLine = this.#pendingPrebuildEndLine;\n this.stopBackgroundTokenize();\n if (pendingPrebuildEndLine >= 0) {\n this.#scheduleStatePrebuild(pendingPrebuildEndLine);\n }\n return;\n }\n\n this.#lastLine = line;\n this.#backgroundChangedRangeIndex = changedRangeIndex;\n this.#postTokenizeMessage(jobId);\n }\n}\n\nfunction tokenizeLine(\n grammar: IGrammar,\n colorMap: string[],\n lineText: string,\n stateStack: StateStack,\n timeLimit?: number,\n collectBracketIgnoredRanges = true,\n resolveTokens = true\n): {\n ruleStack: StateStack;\n resolvedTokens: Array<HighlightedToken>;\n bracketIgnoredRanges: [number, number][];\n} {\n const result = grammar.tokenizeLine2(lineText, stateStack, timeLimit);\n if (result.stoppedEarly) {\n console.warn(\n `[diffs] Time limit reached when tokenizing line: ${lineText.substring(0, 100)}`\n );\n }\n const rawTokens = result.tokens;\n const tokensLength = rawTokens.length / 2;\n const resolvedTokens: Array<HighlightedToken> = [];\n const bracketIgnoredRanges: [number, number][] = [];\n if (!resolveTokens && !collectBracketIgnoredRanges) {\n return {\n ruleStack: result.ruleStack,\n resolvedTokens,\n bracketIgnoredRanges,\n };\n }\n for (let j = 0; j < tokensLength; j++) {\n const offset = rawTokens[2 * j];\n const nextOffset =\n j + 1 < tokensLength ? rawTokens[2 * j + 2] : lineText.length;\n if (offset === nextOffset) {\n // should never reach here, skip if happens anyway\n continue;\n }\n const metadata = rawTokens[2 * j + 1];\n if (resolveTokens) {\n const fg = EncodedTokenMetadata.getForeground(metadata);\n resolvedTokens.push([\n offset,\n colorMap[fg],\n lineText.slice(offset, nextOffset),\n ]);\n }\n if (\n collectBracketIgnoredRanges &&\n EncodedTokenMetadata.getTokenType(metadata) > 0\n ) {\n bracketIgnoredRanges.push([offset, nextOffset]);\n }\n }\n return {\n ruleStack: result.ruleStack,\n resolvedTokens,\n bracketIgnoredRanges,\n };\n}\n\n// Shiki special-cases `text` and `ansi` in codeToHast but does not expose grammars.\nfunction isGrammarlessLanguage(languageId: string): boolean {\n return languageId === 'text' || languageId === 'ansi';\n}\n", "import type {\n CodeToTokensOptions,\n GrammarState,\n HighlighterCore,\n} from 'shiki/core';\n\nimport { appendItems } from '../utils/appendItems';\nimport { BaseStreamTokenizer } from './stream-tokenizer';\nimport type { ThemedToken } from './types';\n\nexport class ShikiStreamTokenizer extends BaseStreamTokenizer {\n // Text of the provisional line; it is tokenized again with each chunk.\n #tail = '';\n #grammarState: GrammarState | undefined;\n\n constructor(\n private readonly highlighter: HighlighterCore,\n private readonly options: CodeToTokensOptions\n ) {\n super();\n }\n\n protected tokenizeChunk(\n chunk: string,\n stable: ThemedToken[]\n ): { unstable: ThemedToken[]; tailLength: number } {\n const chunkLines = (this.#tail + chunk).split(/(\\r\\n|\\r|\\n)/);\n let unstable: ThemedToken[] = [];\n for (let i = 0; i < chunkLines.length; i += 2) {\n const line = chunkLines[i];\n const result = this.highlighter.codeToTokens(line, {\n ...this.options,\n grammarState: this.#grammarState,\n });\n const tokens = result.tokens[0].map((token) => ({\n ...token,\n offset: token.offset + this.stableOffset,\n }));\n if (i + 1 < chunkLines.length) {\n appendItems(stable, tokens);\n this.pushLineBreak(stable, line.length, chunkLines[i + 1]);\n this.#grammarState = result.grammarState;\n } else {\n unstable = tokens;\n this.#tail = line;\n }\n }\n return { unstable, tailLength: this.#tail.length };\n }\n\n clone(): ShikiStreamTokenizer {\n this.assertActive();\n const clone = new ShikiStreamTokenizer(this.highlighter, this.options);\n this.copyStateTo(clone);\n clone.#tail = this.#tail;\n clone.#grammarState = this.#grammarState;\n return clone;\n }\n\n protected resetSource(): void {\n this.#tail = '';\n this.#grammarState = undefined;\n }\n\n protected releaseSource(): void {\n this.resetSource();\n }\n}\n", "import {\n createCssVariablesTheme,\n createHighlighterCore,\n type HighlighterCore,\n type CodeToTokensOptions as ShikiCodeToTokensOptions,\n} from 'shiki/core';\n\nimport type { ResolvedLanguage } from '../../worker/types';\nimport { DiffsHighlighter } from '../DiffsHighlighter';\nimport { attachResolvedLanguages } from '../languages/attachResolvedLanguages';\nimport { RegisteredCustomLanguages } from '../languages/constants';\nimport { resolveLanguages } from '../languages/resolveLanguages';\nimport { ShikiEditorTokenizer } from '../shiki-editor';\nimport { ShikiStreamTokenizer } from '../shiki-stream';\nimport { createDiffsThemeResolver } from '../themes/themeResolver';\nimport type { DiffsTheme } from '../themes/types';\nimport type {\n DiffsEditorTokenizerOptions,\n DiffsStreamTokenizer,\n} from '../tokenizer-types';\nimport type { CodeToTokensOptions, TokensResult } from '../types';\n\ntype ShikiHighlighterTypes = 'shiki-js' | 'shiki-wasm';\n\nexport class ShikiHighlighter extends DiffsHighlighter {\n // Compare theme objects to detect replacements, and retain them when the\n // shared cache is cleared.\n private readonly loadedThemes = new Map<string, DiffsTheme>();\n // Shiki allocates a new language list on each lookup.\n private readonly attachedLanguages = new Set(['text', 'ansi']);\n\n static async create(name: ShikiHighlighterTypes): Promise<ShikiHighlighter> {\n const engine =\n name === 'shiki-wasm'\n ? (await import('shiki/engine/oniguruma')).createOnigurumaEngine(\n import('shiki/wasm')\n )\n : (\n await import('shiki/engine/javascript')\n ).createJavaScriptRegexEngine();\n const raw = await createHighlighterCore({ themes: [], langs: [], engine });\n return new ShikiHighlighter(name, raw);\n }\n\n private constructor(\n name: ShikiHighlighterTypes,\n private readonly raw: HighlighterCore\n ) {\n super(name, createDiffsThemeResolver(name));\n }\n\n getTheme(themeName: string): DiffsTheme {\n this.assertNotDisposed();\n const loaded = this.loadedThemes.get(themeName);\n const theme = this.themeResolver.getResolvedTheme(themeName) ?? loaded;\n if (theme == null) {\n throw new Error(`Theme \"${themeName}\" has not been resolved`);\n }\n if (loaded !== theme) {\n const textmate =\n theme.textmate ??\n (theme.cssVariables != null\n ? createCssVariablesTheme(theme.cssVariables)\n : undefined);\n if (textmate == null) {\n throw new Error(`Theme \"${themeName}\" does not support Shiki`);\n }\n // Pass the object to refresh colors, using the name tokenization looks up.\n this.raw.setTheme({ ...textmate, name: themeName });\n this.loadedThemes.set(themeName, theme);\n }\n return theme;\n }\n\n codeToTokens(code: string, options: CodeToTokensOptions): TokensResult {\n return this.raw.codeToTokens(code, this.resolveOptions(options));\n }\n\n createEditorTokenizer(\n options: DiffsEditorTokenizerOptions\n ): ShikiEditorTokenizer {\n return new ShikiEditorTokenizer(this.raw, options, this);\n }\n\n createStreamTokenizer(options: CodeToTokensOptions): DiffsStreamTokenizer {\n return new ShikiStreamTokenizer(this.raw, this.resolveOptions(options));\n }\n\n async loadLanguages(languages: readonly string[]): Promise<void> {\n this.assertNotDisposed();\n const missing = languages.filter(\n (language) => !this.attachedLanguages.has(language)\n );\n attachResolvedLanguages(await resolveLanguages(missing), this);\n }\n\n hasLoadedLanguages(languages: readonly string[]): boolean {\n if (this.disposed) {\n return false;\n }\n // Custom registrations count only when attached here; bundled grammars\n // loaded on the raw instance by other code are found in Shiki's list.\n let loaded: string[] | undefined;\n return languages.every((lang) => {\n if (this.attachedLanguages.has(lang)) {\n return true;\n }\n if (RegisteredCustomLanguages.has(lang)) {\n return false;\n }\n loaded ??= this.raw.getLoadedLanguages();\n return loaded.includes(lang);\n });\n }\n\n attachLanguages(languages: readonly ResolvedLanguage[]): void {\n this.assertNotDisposed();\n for (const lang of languages) {\n if (this.attachedLanguages.has(lang.name)) {\n continue;\n }\n const grammar = lang.data.find(\n (grammar) =>\n grammar.name === lang.name ||\n grammar.aliases?.includes(lang.name) === true\n );\n if (grammar == null) {\n throw new Error(\n `attachResolvedLanguages: No returned grammar declares \"${lang.name}\" as its name or an alias.`\n );\n }\n this.raw.loadLanguageSync(lang.data);\n // Shiki skips loaded grammars, which can leave new aliases unregistered.\n try {\n this.raw.getLanguage(lang.name);\n } catch {\n throw new Error(\n `attachResolvedLanguages: \"${grammar.name}\" is already loaded without alias \"${lang.name}\". Load the alias first or give the grammar a unique name.`\n );\n }\n this.attachedLanguages.add(lang.name);\n }\n }\n\n protected releaseResources(): void {\n this.loadedThemes.clear();\n this.attachedLanguages.clear();\n this.raw.dispose();\n }\n\n // Attach resolved themes before tokenizing. Omit the unused key because\n // Shiki treats `themes: undefined` as a request for multiple themes.\n private resolveOptions({\n theme,\n themes,\n ...options\n }: CodeToTokensOptions): ShikiCodeToTokensOptions {\n this.assertNotDisposed();\n if (theme != null) {\n this.getTheme(theme);\n return { ...options, theme };\n }\n if (themes == null) {\n throw new Error('A theme or themes option is required');\n }\n for (const name of Object.values(themes)) {\n this.getTheme(name);\n }\n return { ...options, themes };\n }\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["nextState", "ShikiStreamTokenizer", "ShikiHighlighter", "grammar"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
import "./chunk-AXQFWXYZ.js";
|
|
2
|
+
|
|
3
|
+
// node_modules/@pierre/highlights/dist/themes/material-theme-palenight.js
|
|
4
|
+
var material_theme_palenight_default = {
|
|
5
|
+
"name": "Material Theme Palenight",
|
|
6
|
+
"appearance": "dark",
|
|
7
|
+
"style": {
|
|
8
|
+
"background": "#292D3E",
|
|
9
|
+
"text": "#babed8",
|
|
10
|
+
"editor.background": "#292D3E",
|
|
11
|
+
"editor.foreground": "#babed8",
|
|
12
|
+
"editor.active_line.background": "#00000050",
|
|
13
|
+
"players": [],
|
|
14
|
+
"error": "#f0717870",
|
|
15
|
+
"warning": "#FFCB6B70",
|
|
16
|
+
"info": "#82AAFF70",
|
|
17
|
+
"hint": "#969696ff",
|
|
18
|
+
"deleted": "#f0717890",
|
|
19
|
+
"modified": "#82AAFF90",
|
|
20
|
+
"terminal.ansi.green": "#C3E88D",
|
|
21
|
+
"terminal.ansi.red": "#f07178",
|
|
22
|
+
"terminal.ansi.blue": "#82AAFF",
|
|
23
|
+
"syntax": {
|
|
24
|
+
"attribute": {
|
|
25
|
+
"color": "#C792EA"
|
|
26
|
+
},
|
|
27
|
+
"comment": {
|
|
28
|
+
"color": "#676E95",
|
|
29
|
+
"font_style": "italic"
|
|
30
|
+
},
|
|
31
|
+
"comment.doc": {
|
|
32
|
+
"color": "#676E95",
|
|
33
|
+
"font_style": "italic"
|
|
34
|
+
},
|
|
35
|
+
"constructor": {
|
|
36
|
+
"color": "#f07178"
|
|
37
|
+
},
|
|
38
|
+
"emphasis": {
|
|
39
|
+
"color": "#f07178",
|
|
40
|
+
"font_style": "italic"
|
|
41
|
+
},
|
|
42
|
+
"emphasis.strong": {
|
|
43
|
+
"color": "#f07178",
|
|
44
|
+
"font_weight": 700
|
|
45
|
+
},
|
|
46
|
+
"function": {
|
|
47
|
+
"color": "#82AAFF"
|
|
48
|
+
},
|
|
49
|
+
"keyword": {
|
|
50
|
+
"color": "#89DDFF",
|
|
51
|
+
"font_style": "italic"
|
|
52
|
+
},
|
|
53
|
+
"number": {
|
|
54
|
+
"color": "#F78C6C"
|
|
55
|
+
},
|
|
56
|
+
"punctuation": {
|
|
57
|
+
"color": "#89DDFF"
|
|
58
|
+
},
|
|
59
|
+
"punctuation.bracket": {
|
|
60
|
+
"color": "#89DDFF"
|
|
61
|
+
},
|
|
62
|
+
"punctuation.delimiter": {
|
|
63
|
+
"color": "#89DDFF"
|
|
64
|
+
},
|
|
65
|
+
"punctuation.list_marker": {
|
|
66
|
+
"color": "#89DDFF"
|
|
67
|
+
},
|
|
68
|
+
"punctuation.special": {
|
|
69
|
+
"color": "#89DDFF"
|
|
70
|
+
},
|
|
71
|
+
"string": {
|
|
72
|
+
"color": "#C3E88D"
|
|
73
|
+
},
|
|
74
|
+
"string.escape": {
|
|
75
|
+
"color": "#C3E88D"
|
|
76
|
+
},
|
|
77
|
+
"string.regex": {
|
|
78
|
+
"color": "#C3E88D"
|
|
79
|
+
},
|
|
80
|
+
"string.special": {
|
|
81
|
+
"color": "#C3E88D"
|
|
82
|
+
},
|
|
83
|
+
"string.special.symbol": {
|
|
84
|
+
"color": "#C3E88D"
|
|
85
|
+
},
|
|
86
|
+
"tag": {
|
|
87
|
+
"color": "#f07178"
|
|
88
|
+
},
|
|
89
|
+
"text.literal": {
|
|
90
|
+
"color": "#C3E88D"
|
|
91
|
+
},
|
|
92
|
+
"boolean": {
|
|
93
|
+
"color": "#FF9CAC"
|
|
94
|
+
},
|
|
95
|
+
"constant": {
|
|
96
|
+
"color": "#BABED8"
|
|
97
|
+
},
|
|
98
|
+
"embedded": {
|
|
99
|
+
"color": "#BABED8"
|
|
100
|
+
},
|
|
101
|
+
"label": {
|
|
102
|
+
"color": "#FFCB6B"
|
|
103
|
+
},
|
|
104
|
+
"namespace": {
|
|
105
|
+
"color": "#FFCB6B"
|
|
106
|
+
},
|
|
107
|
+
"operator": {
|
|
108
|
+
"color": "#89DDFF"
|
|
109
|
+
},
|
|
110
|
+
"predictive": {
|
|
111
|
+
"color": "#676E95"
|
|
112
|
+
},
|
|
113
|
+
"preproc": {
|
|
114
|
+
"color": "#89DDFF",
|
|
115
|
+
"font_style": "italic"
|
|
116
|
+
},
|
|
117
|
+
"primary": {
|
|
118
|
+
"color": "#babed8"
|
|
119
|
+
},
|
|
120
|
+
"property": {
|
|
121
|
+
"color": "#F07178"
|
|
122
|
+
},
|
|
123
|
+
"selector": {
|
|
124
|
+
"color": "#FFCB6B"
|
|
125
|
+
},
|
|
126
|
+
"title": {
|
|
127
|
+
"color": "#89DDFF"
|
|
128
|
+
},
|
|
129
|
+
"type": {
|
|
130
|
+
"color": "#FFCB6B"
|
|
131
|
+
},
|
|
132
|
+
"variable": {
|
|
133
|
+
"color": "#BABED8"
|
|
134
|
+
},
|
|
135
|
+
"enum": {
|
|
136
|
+
"color": "#FFCB6B"
|
|
137
|
+
},
|
|
138
|
+
"hint": {
|
|
139
|
+
"color": "#969696ff"
|
|
140
|
+
},
|
|
141
|
+
"link_text": {
|
|
142
|
+
"color": "#C3E88D"
|
|
143
|
+
},
|
|
144
|
+
"link_uri": {
|
|
145
|
+
"color": "#babed8"
|
|
146
|
+
},
|
|
147
|
+
"variant": {
|
|
148
|
+
"color": "#BABED8"
|
|
149
|
+
},
|
|
150
|
+
"constant.builtin": {
|
|
151
|
+
"color": "#89DDFF"
|
|
152
|
+
},
|
|
153
|
+
"diff.minus": {
|
|
154
|
+
"color": "#F07178"
|
|
155
|
+
},
|
|
156
|
+
"diff.plus": {
|
|
157
|
+
"color": "#C3E88D"
|
|
158
|
+
},
|
|
159
|
+
"selector.id": {
|
|
160
|
+
"color": "#F78C6C"
|
|
161
|
+
},
|
|
162
|
+
"variable.parameter": {
|
|
163
|
+
"color": "#BABED8",
|
|
164
|
+
"font_style": "italic"
|
|
165
|
+
},
|
|
166
|
+
"selector.pseudo": {
|
|
167
|
+
"color": "#C792EA"
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
};
|
|
172
|
+
export {
|
|
173
|
+
material_theme_palenight_default as default
|
|
174
|
+
};
|
|
175
|
+
//# sourceMappingURL=chunk-XJ4X6OZN.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../node_modules/@pierre/highlights/dist/themes/material-theme-palenight.js"],
|
|
4
|
+
"sourcesContent": ["export default {\n \"name\": \"Material Theme Palenight\",\n \"appearance\": \"dark\",\n \"style\": {\n \"background\": \"#292D3E\",\n \"text\": \"#babed8\",\n \"editor.background\": \"#292D3E\",\n \"editor.foreground\": \"#babed8\",\n \"editor.active_line.background\": \"#00000050\",\n \"players\": [],\n \"error\": \"#f0717870\",\n \"warning\": \"#FFCB6B70\",\n \"info\": \"#82AAFF70\",\n \"hint\": \"#969696ff\",\n \"deleted\": \"#f0717890\",\n \"modified\": \"#82AAFF90\",\n \"terminal.ansi.green\": \"#C3E88D\",\n \"terminal.ansi.red\": \"#f07178\",\n \"terminal.ansi.blue\": \"#82AAFF\",\n \"syntax\": {\n \"attribute\": {\n \"color\": \"#C792EA\"\n },\n \"comment\": {\n \"color\": \"#676E95\",\n \"font_style\": \"italic\"\n },\n \"comment.doc\": {\n \"color\": \"#676E95\",\n \"font_style\": \"italic\"\n },\n \"constructor\": {\n \"color\": \"#f07178\"\n },\n \"emphasis\": {\n \"color\": \"#f07178\",\n \"font_style\": \"italic\"\n },\n \"emphasis.strong\": {\n \"color\": \"#f07178\",\n \"font_weight\": 700\n },\n \"function\": {\n \"color\": \"#82AAFF\"\n },\n \"keyword\": {\n \"color\": \"#89DDFF\",\n \"font_style\": \"italic\"\n },\n \"number\": {\n \"color\": \"#F78C6C\"\n },\n \"punctuation\": {\n \"color\": \"#89DDFF\"\n },\n \"punctuation.bracket\": {\n \"color\": \"#89DDFF\"\n },\n \"punctuation.delimiter\": {\n \"color\": \"#89DDFF\"\n },\n \"punctuation.list_marker\": {\n \"color\": \"#89DDFF\"\n },\n \"punctuation.special\": {\n \"color\": \"#89DDFF\"\n },\n \"string\": {\n \"color\": \"#C3E88D\"\n },\n \"string.escape\": {\n \"color\": \"#C3E88D\"\n },\n \"string.regex\": {\n \"color\": \"#C3E88D\"\n },\n \"string.special\": {\n \"color\": \"#C3E88D\"\n },\n \"string.special.symbol\": {\n \"color\": \"#C3E88D\"\n },\n \"tag\": {\n \"color\": \"#f07178\"\n },\n \"text.literal\": {\n \"color\": \"#C3E88D\"\n },\n \"boolean\": {\n \"color\": \"#FF9CAC\"\n },\n \"constant\": {\n \"color\": \"#BABED8\"\n },\n \"embedded\": {\n \"color\": \"#BABED8\"\n },\n \"label\": {\n \"color\": \"#FFCB6B\"\n },\n \"namespace\": {\n \"color\": \"#FFCB6B\"\n },\n \"operator\": {\n \"color\": \"#89DDFF\"\n },\n \"predictive\": {\n \"color\": \"#676E95\"\n },\n \"preproc\": {\n \"color\": \"#89DDFF\",\n \"font_style\": \"italic\"\n },\n \"primary\": {\n \"color\": \"#babed8\"\n },\n \"property\": {\n \"color\": \"#F07178\"\n },\n \"selector\": {\n \"color\": \"#FFCB6B\"\n },\n \"title\": {\n \"color\": \"#89DDFF\"\n },\n \"type\": {\n \"color\": \"#FFCB6B\"\n },\n \"variable\": {\n \"color\": \"#BABED8\"\n },\n \"enum\": {\n \"color\": \"#FFCB6B\"\n },\n \"hint\": {\n \"color\": \"#969696ff\"\n },\n \"link_text\": {\n \"color\": \"#C3E88D\"\n },\n \"link_uri\": {\n \"color\": \"#babed8\"\n },\n \"variant\": {\n \"color\": \"#BABED8\"\n },\n \"constant.builtin\": {\n \"color\": \"#89DDFF\"\n },\n \"diff.minus\": {\n \"color\": \"#F07178\"\n },\n \"diff.plus\": {\n \"color\": \"#C3E88D\"\n },\n \"selector.id\": {\n \"color\": \"#F78C6C\"\n },\n \"variable.parameter\": {\n \"color\": \"#BABED8\",\n \"font_style\": \"italic\"\n },\n \"selector.pseudo\": {\n \"color\": \"#C792EA\"\n }\n }\n }\n};\n"],
|
|
5
|
+
"mappings": ";;;AAAA,IAAO,mCAAQ;AAAA,EACb,QAAQ;AAAA,EACR,cAAc;AAAA,EACd,SAAS;AAAA,IACP,cAAc;AAAA,IACd,QAAQ;AAAA,IACR,qBAAqB;AAAA,IACrB,qBAAqB;AAAA,IACrB,iCAAiC;AAAA,IACjC,WAAW,CAAC;AAAA,IACZ,SAAS;AAAA,IACT,WAAW;AAAA,IACX,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,WAAW;AAAA,IACX,YAAY;AAAA,IACZ,uBAAuB;AAAA,IACvB,qBAAqB;AAAA,IACrB,sBAAsB;AAAA,IACtB,UAAU;AAAA,MACR,aAAa;AAAA,QACX,SAAS;AAAA,MACX;AAAA,MACA,WAAW;AAAA,QACT,SAAS;AAAA,QACT,cAAc;AAAA,MAChB;AAAA,MACA,eAAe;AAAA,QACb,SAAS;AAAA,QACT,cAAc;AAAA,MAChB;AAAA,MACA,eAAe;AAAA,QACb,SAAS;AAAA,MACX;AAAA,MACA,YAAY;AAAA,QACV,SAAS;AAAA,QACT,cAAc;AAAA,MAChB;AAAA,MACA,mBAAmB;AAAA,QACjB,SAAS;AAAA,QACT,eAAe;AAAA,MACjB;AAAA,MACA,YAAY;AAAA,QACV,SAAS;AAAA,MACX;AAAA,MACA,WAAW;AAAA,QACT,SAAS;AAAA,QACT,cAAc;AAAA,MAChB;AAAA,MACA,UAAU;AAAA,QACR,SAAS;AAAA,MACX;AAAA,MACA,eAAe;AAAA,QACb,SAAS;AAAA,MACX;AAAA,MACA,uBAAuB;AAAA,QACrB,SAAS;AAAA,MACX;AAAA,MACA,yBAAyB;AAAA,QACvB,SAAS;AAAA,MACX;AAAA,MACA,2BAA2B;AAAA,QACzB,SAAS;AAAA,MACX;AAAA,MACA,uBAAuB;AAAA,QACrB,SAAS;AAAA,MACX;AAAA,MACA,UAAU;AAAA,QACR,SAAS;AAAA,MACX;AAAA,MACA,iBAAiB;AAAA,QACf,SAAS;AAAA,MACX;AAAA,MACA,gBAAgB;AAAA,QACd,SAAS;AAAA,MACX;AAAA,MACA,kBAAkB;AAAA,QAChB,SAAS;AAAA,MACX;AAAA,MACA,yBAAyB;AAAA,QACvB,SAAS;AAAA,MACX;AAAA,MACA,OAAO;AAAA,QACL,SAAS;AAAA,MACX;AAAA,MACA,gBAAgB;AAAA,QACd,SAAS;AAAA,MACX;AAAA,MACA,WAAW;AAAA,QACT,SAAS;AAAA,MACX;AAAA,MACA,YAAY;AAAA,QACV,SAAS;AAAA,MACX;AAAA,MACA,YAAY;AAAA,QACV,SAAS;AAAA,MACX;AAAA,MACA,SAAS;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA,aAAa;AAAA,QACX,SAAS;AAAA,MACX;AAAA,MACA,YAAY;AAAA,QACV,SAAS;AAAA,MACX;AAAA,MACA,cAAc;AAAA,QACZ,SAAS;AAAA,MACX;AAAA,MACA,WAAW;AAAA,QACT,SAAS;AAAA,QACT,cAAc;AAAA,MAChB;AAAA,MACA,WAAW;AAAA,QACT,SAAS;AAAA,MACX;AAAA,MACA,YAAY;AAAA,QACV,SAAS;AAAA,MACX;AAAA,MACA,YAAY;AAAA,QACV,SAAS;AAAA,MACX;AAAA,MACA,SAAS;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA,QAAQ;AAAA,QACN,SAAS;AAAA,MACX;AAAA,MACA,YAAY;AAAA,QACV,SAAS;AAAA,MACX;AAAA,MACA,QAAQ;AAAA,QACN,SAAS;AAAA,MACX;AAAA,MACA,QAAQ;AAAA,QACN,SAAS;AAAA,MACX;AAAA,MACA,aAAa;AAAA,QACX,SAAS;AAAA,MACX;AAAA,MACA,YAAY;AAAA,QACV,SAAS;AAAA,MACX;AAAA,MACA,WAAW;AAAA,QACT,SAAS;AAAA,MACX;AAAA,MACA,oBAAoB;AAAA,QAClB,SAAS;AAAA,MACX;AAAA,MACA,cAAc;AAAA,QACZ,SAAS;AAAA,MACX;AAAA,MACA,aAAa;AAAA,QACX,SAAS;AAAA,MACX;AAAA,MACA,eAAe;AAAA,QACb,SAAS;AAAA,MACX;AAAA,MACA,sBAAsB;AAAA,QACpB,SAAS;AAAA,QACT,cAAc;AAAA,MAChB;AAAA,MACA,mBAAmB;AAAA,QACjB,SAAS;AAAA,MACX;AAAA,IACF;AAAA,EACF;AACF;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,218 @@
|
|
|
1
|
+
import "./chunk-AXQFWXYZ.js";
|
|
2
|
+
|
|
3
|
+
// node_modules/@pierre/highlights/dist/themes/gruvbox-light-hard.js
|
|
4
|
+
var gruvbox_light_hard_default = {
|
|
5
|
+
"name": "Gruvbox Light Hard",
|
|
6
|
+
"appearance": "light",
|
|
7
|
+
"style": {
|
|
8
|
+
"background": "#d9c8a4ff",
|
|
9
|
+
"text": "#282828ff",
|
|
10
|
+
"editor.background": "#f9f5d7ff",
|
|
11
|
+
"editor.foreground": "#282828ff",
|
|
12
|
+
"editor.active_line.background": "#ecddb5bf",
|
|
13
|
+
"search.match_background": "#0b667866",
|
|
14
|
+
"players": [
|
|
15
|
+
{
|
|
16
|
+
"cursor": "#0b6678ff",
|
|
17
|
+
"background": "#0b6678ff",
|
|
18
|
+
"selection": "#0b66783d"
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
"cursor": "#7c6f64ff",
|
|
22
|
+
"background": "#7c6f64ff",
|
|
23
|
+
"selection": "#7c6f643d"
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
"cursor": "#af3a04ff",
|
|
27
|
+
"background": "#af3a04ff",
|
|
28
|
+
"selection": "#af3a043d"
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
"cursor": "#8f3f70ff",
|
|
32
|
+
"background": "#8f3f70ff",
|
|
33
|
+
"selection": "#8f3f703d"
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
"cursor": "#437b59ff",
|
|
37
|
+
"background": "#437b59ff",
|
|
38
|
+
"selection": "#437b593d"
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
"cursor": "#9d0308ff",
|
|
42
|
+
"background": "#9d0308ff",
|
|
43
|
+
"selection": "#9d03083d"
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
"cursor": "#b57615ff",
|
|
47
|
+
"background": "#b57615ff",
|
|
48
|
+
"selection": "#b576153d"
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
"cursor": "#797410ff",
|
|
52
|
+
"background": "#797410ff",
|
|
53
|
+
"selection": "#7974103d"
|
|
54
|
+
}
|
|
55
|
+
],
|
|
56
|
+
"error": "#9d0308ff",
|
|
57
|
+
"warning": "#b57615ff",
|
|
58
|
+
"info": "#0b6678ff",
|
|
59
|
+
"hint": "#677562ff",
|
|
60
|
+
"created": "#3c3836",
|
|
61
|
+
"deleted": "#cc241d",
|
|
62
|
+
"modified": "#d79921",
|
|
63
|
+
"terminal.ansi.green": "#98971a",
|
|
64
|
+
"terminal.ansi.red": "#cc241d",
|
|
65
|
+
"terminal.ansi.blue": "#458588",
|
|
66
|
+
"syntax": {
|
|
67
|
+
"attribute": {
|
|
68
|
+
"color": "#0b6678ff"
|
|
69
|
+
},
|
|
70
|
+
"boolean": {
|
|
71
|
+
"color": "#8f3e71ff"
|
|
72
|
+
},
|
|
73
|
+
"comment": {
|
|
74
|
+
"color": "#7c6f64ff"
|
|
75
|
+
},
|
|
76
|
+
"comment.doc": {
|
|
77
|
+
"color": "#5d544eff"
|
|
78
|
+
},
|
|
79
|
+
"constant": {
|
|
80
|
+
"color": "#b57613ff"
|
|
81
|
+
},
|
|
82
|
+
"constructor": {
|
|
83
|
+
"color": "#0b6678ff"
|
|
84
|
+
},
|
|
85
|
+
"embedded": {
|
|
86
|
+
"color": "#427b58ff"
|
|
87
|
+
},
|
|
88
|
+
"emphasis": {
|
|
89
|
+
"color": "#0b6678ff"
|
|
90
|
+
},
|
|
91
|
+
"emphasis.strong": {
|
|
92
|
+
"color": "#0b6678ff",
|
|
93
|
+
"font_weight": 700
|
|
94
|
+
},
|
|
95
|
+
"enum": {
|
|
96
|
+
"color": "#af3a02ff"
|
|
97
|
+
},
|
|
98
|
+
"function": {
|
|
99
|
+
"color": "#79740eff"
|
|
100
|
+
},
|
|
101
|
+
"function.builtin": {
|
|
102
|
+
"color": "#9d0006ff"
|
|
103
|
+
},
|
|
104
|
+
"hint": {
|
|
105
|
+
"color": "#677562ff"
|
|
106
|
+
},
|
|
107
|
+
"keyword": {
|
|
108
|
+
"color": "#9d0006ff"
|
|
109
|
+
},
|
|
110
|
+
"label": {
|
|
111
|
+
"color": "#0b6678ff"
|
|
112
|
+
},
|
|
113
|
+
"link_text": {
|
|
114
|
+
"color": "#427b58ff",
|
|
115
|
+
"font_style": "italic"
|
|
116
|
+
},
|
|
117
|
+
"link_uri": {
|
|
118
|
+
"color": "#8f3e71ff"
|
|
119
|
+
},
|
|
120
|
+
"namespace": {
|
|
121
|
+
"color": "#066578ff"
|
|
122
|
+
},
|
|
123
|
+
"number": {
|
|
124
|
+
"color": "#8f3e71ff"
|
|
125
|
+
},
|
|
126
|
+
"operator": {
|
|
127
|
+
"color": "#427b58ff"
|
|
128
|
+
},
|
|
129
|
+
"predictive": {
|
|
130
|
+
"color": "#7c9780ff",
|
|
131
|
+
"font_style": "italic"
|
|
132
|
+
},
|
|
133
|
+
"preproc": {
|
|
134
|
+
"color": "#9d0006ff"
|
|
135
|
+
},
|
|
136
|
+
"primary": {
|
|
137
|
+
"color": "#282828ff"
|
|
138
|
+
},
|
|
139
|
+
"property": {
|
|
140
|
+
"color": "#282828ff"
|
|
141
|
+
},
|
|
142
|
+
"punctuation": {
|
|
143
|
+
"color": "#3c3836ff"
|
|
144
|
+
},
|
|
145
|
+
"punctuation.bracket": {
|
|
146
|
+
"color": "#665c54ff"
|
|
147
|
+
},
|
|
148
|
+
"punctuation.delimiter": {
|
|
149
|
+
"color": "#413d3aff"
|
|
150
|
+
},
|
|
151
|
+
"punctuation.list_marker": {
|
|
152
|
+
"color": "#282828ff"
|
|
153
|
+
},
|
|
154
|
+
"punctuation.markup": {
|
|
155
|
+
"color": "#066578ff"
|
|
156
|
+
},
|
|
157
|
+
"punctuation.special": {
|
|
158
|
+
"color": "#413d3aff"
|
|
159
|
+
},
|
|
160
|
+
"selector": {
|
|
161
|
+
"color": "#b57613ff"
|
|
162
|
+
},
|
|
163
|
+
"selector.pseudo": {
|
|
164
|
+
"color": "#0b6678ff"
|
|
165
|
+
},
|
|
166
|
+
"string": {
|
|
167
|
+
"color": "#79740eff"
|
|
168
|
+
},
|
|
169
|
+
"string.escape": {
|
|
170
|
+
"color": "#5d544eff"
|
|
171
|
+
},
|
|
172
|
+
"string.regex": {
|
|
173
|
+
"color": "#af3a02ff"
|
|
174
|
+
},
|
|
175
|
+
"string.special": {
|
|
176
|
+
"color": "#8f3e71ff"
|
|
177
|
+
},
|
|
178
|
+
"string.special.symbol": {
|
|
179
|
+
"color": "#427b58ff"
|
|
180
|
+
},
|
|
181
|
+
"tag": {
|
|
182
|
+
"color": "#427b58ff"
|
|
183
|
+
},
|
|
184
|
+
"text.literal": {
|
|
185
|
+
"color": "#066578ff"
|
|
186
|
+
},
|
|
187
|
+
"title": {
|
|
188
|
+
"color": "#79740eff",
|
|
189
|
+
"font_weight": 700
|
|
190
|
+
},
|
|
191
|
+
"type": {
|
|
192
|
+
"color": "#b57613ff"
|
|
193
|
+
},
|
|
194
|
+
"variable": {
|
|
195
|
+
"color": "#282828ff"
|
|
196
|
+
},
|
|
197
|
+
"variable.parameter": {
|
|
198
|
+
"color": "#282828ff"
|
|
199
|
+
},
|
|
200
|
+
"variable.special": {
|
|
201
|
+
"color": "#066578ff"
|
|
202
|
+
},
|
|
203
|
+
"variant": {
|
|
204
|
+
"color": "#0b6678ff"
|
|
205
|
+
},
|
|
206
|
+
"diff.plus": {
|
|
207
|
+
"color": "#79740eff"
|
|
208
|
+
},
|
|
209
|
+
"diff.minus": {
|
|
210
|
+
"color": "#9d0006ff"
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
};
|
|
215
|
+
export {
|
|
216
|
+
gruvbox_light_hard_default as default
|
|
217
|
+
};
|
|
218
|
+
//# sourceMappingURL=chunk-YCSUWIOE.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../node_modules/@pierre/highlights/dist/themes/gruvbox-light-hard.js"],
|
|
4
|
+
"sourcesContent": ["export default {\n \"name\": \"Gruvbox Light Hard\",\n \"appearance\": \"light\",\n \"style\": {\n \"background\": \"#d9c8a4ff\",\n \"text\": \"#282828ff\",\n \"editor.background\": \"#f9f5d7ff\",\n \"editor.foreground\": \"#282828ff\",\n \"editor.active_line.background\": \"#ecddb5bf\",\n \"search.match_background\": \"#0b667866\",\n \"players\": [\n {\n \"cursor\": \"#0b6678ff\",\n \"background\": \"#0b6678ff\",\n \"selection\": \"#0b66783d\"\n },\n {\n \"cursor\": \"#7c6f64ff\",\n \"background\": \"#7c6f64ff\",\n \"selection\": \"#7c6f643d\"\n },\n {\n \"cursor\": \"#af3a04ff\",\n \"background\": \"#af3a04ff\",\n \"selection\": \"#af3a043d\"\n },\n {\n \"cursor\": \"#8f3f70ff\",\n \"background\": \"#8f3f70ff\",\n \"selection\": \"#8f3f703d\"\n },\n {\n \"cursor\": \"#437b59ff\",\n \"background\": \"#437b59ff\",\n \"selection\": \"#437b593d\"\n },\n {\n \"cursor\": \"#9d0308ff\",\n \"background\": \"#9d0308ff\",\n \"selection\": \"#9d03083d\"\n },\n {\n \"cursor\": \"#b57615ff\",\n \"background\": \"#b57615ff\",\n \"selection\": \"#b576153d\"\n },\n {\n \"cursor\": \"#797410ff\",\n \"background\": \"#797410ff\",\n \"selection\": \"#7974103d\"\n }\n ],\n \"error\": \"#9d0308ff\",\n \"warning\": \"#b57615ff\",\n \"info\": \"#0b6678ff\",\n \"hint\": \"#677562ff\",\n \"created\": \"#3c3836\",\n \"deleted\": \"#cc241d\",\n \"modified\": \"#d79921\",\n \"terminal.ansi.green\": \"#98971a\",\n \"terminal.ansi.red\": \"#cc241d\",\n \"terminal.ansi.blue\": \"#458588\",\n \"syntax\": {\n \"attribute\": {\n \"color\": \"#0b6678ff\"\n },\n \"boolean\": {\n \"color\": \"#8f3e71ff\"\n },\n \"comment\": {\n \"color\": \"#7c6f64ff\"\n },\n \"comment.doc\": {\n \"color\": \"#5d544eff\"\n },\n \"constant\": {\n \"color\": \"#b57613ff\"\n },\n \"constructor\": {\n \"color\": \"#0b6678ff\"\n },\n \"embedded\": {\n \"color\": \"#427b58ff\"\n },\n \"emphasis\": {\n \"color\": \"#0b6678ff\"\n },\n \"emphasis.strong\": {\n \"color\": \"#0b6678ff\",\n \"font_weight\": 700\n },\n \"enum\": {\n \"color\": \"#af3a02ff\"\n },\n \"function\": {\n \"color\": \"#79740eff\"\n },\n \"function.builtin\": {\n \"color\": \"#9d0006ff\"\n },\n \"hint\": {\n \"color\": \"#677562ff\"\n },\n \"keyword\": {\n \"color\": \"#9d0006ff\"\n },\n \"label\": {\n \"color\": \"#0b6678ff\"\n },\n \"link_text\": {\n \"color\": \"#427b58ff\",\n \"font_style\": \"italic\"\n },\n \"link_uri\": {\n \"color\": \"#8f3e71ff\"\n },\n \"namespace\": {\n \"color\": \"#066578ff\"\n },\n \"number\": {\n \"color\": \"#8f3e71ff\"\n },\n \"operator\": {\n \"color\": \"#427b58ff\"\n },\n \"predictive\": {\n \"color\": \"#7c9780ff\",\n \"font_style\": \"italic\"\n },\n \"preproc\": {\n \"color\": \"#9d0006ff\"\n },\n \"primary\": {\n \"color\": \"#282828ff\"\n },\n \"property\": {\n \"color\": \"#282828ff\"\n },\n \"punctuation\": {\n \"color\": \"#3c3836ff\"\n },\n \"punctuation.bracket\": {\n \"color\": \"#665c54ff\"\n },\n \"punctuation.delimiter\": {\n \"color\": \"#413d3aff\"\n },\n \"punctuation.list_marker\": {\n \"color\": \"#282828ff\"\n },\n \"punctuation.markup\": {\n \"color\": \"#066578ff\"\n },\n \"punctuation.special\": {\n \"color\": \"#413d3aff\"\n },\n \"selector\": {\n \"color\": \"#b57613ff\"\n },\n \"selector.pseudo\": {\n \"color\": \"#0b6678ff\"\n },\n \"string\": {\n \"color\": \"#79740eff\"\n },\n \"string.escape\": {\n \"color\": \"#5d544eff\"\n },\n \"string.regex\": {\n \"color\": \"#af3a02ff\"\n },\n \"string.special\": {\n \"color\": \"#8f3e71ff\"\n },\n \"string.special.symbol\": {\n \"color\": \"#427b58ff\"\n },\n \"tag\": {\n \"color\": \"#427b58ff\"\n },\n \"text.literal\": {\n \"color\": \"#066578ff\"\n },\n \"title\": {\n \"color\": \"#79740eff\",\n \"font_weight\": 700\n },\n \"type\": {\n \"color\": \"#b57613ff\"\n },\n \"variable\": {\n \"color\": \"#282828ff\"\n },\n \"variable.parameter\": {\n \"color\": \"#282828ff\"\n },\n \"variable.special\": {\n \"color\": \"#066578ff\"\n },\n \"variant\": {\n \"color\": \"#0b6678ff\"\n },\n \"diff.plus\": {\n \"color\": \"#79740eff\"\n },\n \"diff.minus\": {\n \"color\": \"#9d0006ff\"\n }\n }\n }\n};\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|