markstream-vue2 0.0.46-beta.1 → 0.0.46

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/tailwind.ts CHANGED
@@ -1,3 +1,3 @@
1
- export const safeList = `auto component [] copy checkbox-node checkbox-input checkbox checked stream-markdown-parser vue-demi d2-block-container my-4 rounded-lg border overflow-hidden shadow-sm border-gray-700/30 bg-gray-900 text-gray-100 border-gray-200 bg-white text-gray-900 d2-block-header flex justify-between items-center px-4 py-2.5 border-b border-gray-400/5 gap-x-2 gap-x-1 rounded-md p-0.5 bg-gray-700 bg-gray-100 mode-btn px-2 py-1 text-xs rounded is-active click preview mouseenter focus source d2-action-btn p-2 transition-colors hover:bg-[var(--vscode-editor-selectionBackground)] w-3 h-3 none currentColor round m9 show v-show !isCollapsed bodyRef d2-block-body d2-source py-4 d2-code d2-error mt-2 d2-render d2-svg pb-3 text-sm font-medium font-mono fdf24c90 dl definition-list entry.className entry.key entry.nodes b089ea12 transition img-switch out-in image image-node__img h-auto transition-opacity duration-200 ease-in-out image-node__img--inline opacity-0 opacity-100 cursor-pointer ?? lazy eager async placeholder placeholder-layer placeholder-layer--inline inline-flex justify-center gap-2 w-4 h-4 rounded-full border-2 border-solid border-current border-t-transparent animate-spin whitespace-nowrap text-gray-500 [_vm._v(_vm._s(_vm.node.raw))])]] error image-node__error image-node__error--inline py-2 text-red-500 container code-block-container is-plain-text code-block-header space-x-2 flex-1 icon-slot flex-shrink-0 truncate header-right code-action-btn m14 evenodd code-editor-layer codeEditor code-editor-container code-height-placeholder"] !stream loading code-loading-placeholder loading-skeleton skeleton-line short sr-only polite status f73cb5ae emphasis-node child emphasis admonition is-dark admonition-header [_setup.iconMap[_setup.props.node.kind] admonition-icon admonition-title admonition-toggle !collapsed admonition-content f9c1d6b9 emoji-node de55dc97 hard-break mark highlight-node highlight footnote-node leading-relaxed border-t border-[var(--footnote-border,#eaecef)] pt-2 structured htmlRef html-block-node html-block-node__placeholder html-block-node__placeholder-bar w-4/5 w-2/3 dynamic node footnote-anchor hover:underline footnote-reference footnote-link heading-node heading ffb7cf51 html-inline-node text innerHTML e6ed4c9f inline text-[85%] px-1 py-0.5 bg-[hsl(var(--secondary))] whitespace-normal break-words max-w-full before:content-[''] after:content-[''] inline-code-stream-delta [_setup.streamedDeltaClass] is-rendering pending infographic-block-header bg-gray-800 bg-gray-50 [_vm.$slots["header-left"] [_vm._t("header-left")] my-0 text-gray-400 text-gray-600 [_vm._t("header-center")] px-2.5 bg-gray-600 text-gray-200 text-gray-700 hover:text-gray-200 hover:text-gray-700 m16 [_vm._t("header-right")] opacity-50 cursor-not-allowed m7 p-4 whitespace-pre-wrap text-gray-300 relative absolute top-2 right-2 z-10 backdrop-blur hover:bg-gray-700 hover:bg-gray-200"] in m21 out zoom infographic-preview min-h-[360px] transition-all duration-100 block void inset-0 cursor-grab infographicContainer w-full text-center min-h-full markstream-vue infographic-dialog fixed z-50 bg-black/70 dialog-panel h-full max-h-full shadow-lg top-6 right-6 modalContent list-item pl-1.5 my-2 insert-node insert ab1ec9bc list-node list-disc item index anchorEl link-node noopener noreferrer link-text link-loading items-baseline gap-1.5 link-text-wrapper leading-[normal] link-loading-indicator containerEl math-inline-wrapper math-inline math-inline--fallback math-inline__loading math-inline__spinner isLoading d2f0cfa6 math-block overflow-x-auto min-h-[40px] math-block__content math-block__fallback math-loading-overlay math-loading-spinner codeBlockContent code-block-content rendererTarget code-block-render code-fallback-plain stream fbed7233 mermaid-block-header space-x-1 modeContainerRef mermaidContainer transition-[height] duration-150 ease-out mermaidContent markstream-vue2 mermaid-dialog [_setup.languageClass] no textContent paragraph-node reference-node bg-[hsl(var(--muted))] px-1.5 mx-0.5 hover:bg-[hsl(var(--secondary))] mouseEnter mouseleave mouseLeave strikethrough-node strikethrough strong-node custom-id af3ce037 superscript-node superscript-child [_setup.nodeComponents[child.type] child.raw ef2512b4 table-node-wrapper tableRef my-8 table-node col border-[var(--table-border,#cbd5e1)] font-semibold p-[calc(4/7*1em)] right text-right cell.align center text-left cell.children table-node__resize-handle columns and pointerdown table-node-fade table-node__loading table-node__spinner subscript-node subscript-child text-node text-node-center text-node-stream-delta e8e0f51e hr-node tooltip visible ready z-[9999] inline-block text-base px-3 shadow-md pointer-events-none tooltip-element text-white border-gray-700 border"] vmr-container number top navigator.clipboard typeof navigator.clipboard.writeText href name xlink:href markstream-d2-root-svg string is not instance.render instance missing object render returned empty window.requestAnimationFrame to dt definition-term dd definition-desc load primary failed fallback markdown-renderer legacy-nodes-renderer item.renderKey node-slot item.index item.node.type node-content item.node item.node.loading item.indexKey common alias note smooth markstreamHtmlPolicy safe escape previewCode touchstart passive boolean preview-code plaintext line-info diffUnchangedRegionStyle line-info-basic metadata legacy off never background diff single [markstream-vue2] stream-monaco blocks will use basic enhanced editor theme provided themes array initialize window.getComputedStyle side-by-side div:first-child markstream-inline-fold-proxy aria-label codicon codicon-unfold event.key mousedown keydown up down hidden post dark night moon black dracula mocha frappe macchiato palenight ocean poimandres monokai laserwave tokyo slack-dark rose-pine github-dark material-theme one-dark catppuccin-mocha catppuccin-frappe catppuccin-macchiato light latte dawn lotus explicit on same resize markstream-core markstreamFade markstreamTextStreamState raw index-key inline-code-stream-delta--a inline-code-stream-delta--b openModal element found transform ease fullscreen library p-4">Failed instanceof error.message infographic-action-btn hover:bg-gray-200 event.clientY pointermove mousemove infinite $$ vitesse-dark vitesse-light lang darkBg display shiki shiki-fallback [MarkdownCodeBlockNode] dispose data-markstream-code-theme even stale stream-markdown stream-markdown.createShikiStreamRenderer available requires with ignoring using default language register configured retrying without overflow-y"] overflow-x"] pointerup pointercancel markstreamStreamVersion text-node-stream-delta--a text-node-stream-delta--b paragraph custom-html-tags html_block child.type html_inline toggleMode strict loose mermaid configure abort timed error?.message gantt viewBox width height get [data-mermaid-wrapper] open-modal toggle-mode transitionend retry mermaid-action-btn handleArtifactClick markstreamTypewriter legacy-renderer langs unknown node.type code_block infographic d2 d2lang list containerRef mouseout fade handle-artifact-click item.bindings node-spacer node-placeholder typewriterCursorRef typewriter-cursor html-preview-frame__backdrop html-preview-frame html-preview-frame__header html-preview-frame__title html-preview-frame__dot html-preview-frame__label html-preview-frame__close html-preview-frame__iframe no-referrer srcdoc unknown-node rootRef portal-root htmlPreviewSandbox contains both allow-scripts this only fully trusted content served an isolated en utf-8 viewport content="width=device-width initial-scale=1 e.key mouseover show-tooltips markstreamSmoothStreaming markstreamShowTooltips globalThis.process globalThis.process?.env?.NODE_ENV test reverse scroll too-many-targets console viewportPriority virtualization peer dependencies are back inline-code rendering enable full features please install this.isDark mermaid-preview-area preformatted list_item definition_list footnote [data-node-index] math_block [data-node-type="code_block"] [data-node-type="admonition"] [data-node-type="table"] [data-node-type="math_block"] [data-node-type="html_block"] [data-node-type="image"]`
1
+ export const safeList = `admonition is-dark admonition-header [_setup.iconMap[_setup.props.node.kind] admonition-icon admonition-title admonition-toggle show v-show !collapsed admonition-content component copy f9c1d6b9 stream-markdown-parser vue-demi auto [] code-pre-fallback container code-block-container my-4 rounded-lg border overflow-hidden shadow-sm border-gray-700/30 bg-gray-900 border-gray-200 bg-white is-plain-text code-block-header flex justify-between items-center px-4 py-2.5 border-b border-gray-400/5 space-x-2 flex-1 icon-slot h-4 w-4 flex-shrink-0 text-sm font-medium font-mono truncate header-right code-action-btn p-2 text-xs rounded-md transition-colors hover:bg-[var(--vscode-editor-selectionBackground)] mouseenter focus w-3 h-3 none currentColor round m9 click m14 evenodd !isCollapsed code-editor-layer codeEditor code-editor-container code-height-placeholder"] visible hidden void code-editor-fallback-surface !stream loading code-loading-placeholder loading-skeleton skeleton-line short sr-only polite status b3974933 dl definition-list entry.className entry.key entry.nodes b089ea12 emoji-node de55dc97 checkbox-node checkbox-input checkbox checked d2-block-container text-gray-100 text-gray-900 d2-block-header gap-x-2 gap-x-1 p-0.5 bg-gray-700 bg-gray-100 mode-btn px-2 py-1 rounded is-active preview source d2-action-btn bodyRef d2-block-body d2-source py-4 d2-code d2-error mt-2 d2-render d2-svg pb-3 fdf24c90 footnote-node leading-relaxed border-t border-[var(--footnote-border,#eaecef)] pt-2 heading-node child heading ffb7cf51 emphasis-node emphasis hard-break footnote-anchor hover:underline cursor-pointer dynamic html-inline-node text innerHTML e6ed4c9f footnote-reference footnote-link mark highlight-node highlight structured htmlRef html-block-node html-block-node__placeholder html-block-node__placeholder-bar w-4/5 w-2/3 node inline text-[85%] px-1 py-0.5 bg-[hsl(var(--secondary))] whitespace-normal break-words max-w-full before:content-[''] after:content-[''] inline-code-stream-delta [_setup.streamedDeltaClass] transition img-switch out-in image image-node__img h-auto transition-opacity duration-200 ease-in-out image-node__img--inline opacity-0 opacity-100 ?? lazy eager async placeholder placeholder-layer placeholder-layer--inline inline-flex justify-center gap-2 rounded-full border-2 border-solid border-current border-t-transparent animate-spin whitespace-nowrap text-gray-500 [_vm._v(_vm._s(_vm.node.raw))])]] error image-node__error image-node__error--inline py-2 text-red-500 list-item pl-1.5 my-2 containerEl math-block text-center overflow-x-auto relative min-h-[40px] math-block__content math-block__fallback math-loading-overlay math-loading-spinner anchorEl link-node noopener noreferrer link-text link-loading items-baseline gap-1.5 link-text-wrapper leading-[normal] link-loading-indicator list-node list-disc item index insert-node insert ab1ec9bc is-rendering pending infographic-block-header bg-gray-800 bg-gray-50 [_vm.$slots["header-left"] [_vm._t("header-left")] my-0 text-gray-400 text-gray-600 [_vm._t("header-center")] px-2.5 bg-gray-600 text-gray-200 text-gray-700 hover:text-gray-200 hover:text-gray-700 m16 [_vm._t("header-right")] opacity-50 cursor-not-allowed m7 p-4 whitespace-pre-wrap text-gray-300 absolute top-2 right-2 z-10 backdrop-blur hover:bg-gray-700 hover:bg-gray-200"] in m21 out zoom infographic-preview min-h-[360px] transition-all duration-100 block inset-0 cursor-grab infographicContainer w-full min-h-full markstream-vue infographic-dialog fixed z-50 bg-black/70 dialog-panel h-full max-h-full shadow-lg top-6 right-6 modalContent math-inline-wrapper math-inline math-inline--fallback math-inline__loading math-inline__spinner isLoading d2f0cfa6 paragraph-node codeBlockContent code-block-content rendererTarget code-block-render code-fallback-plain stream fbed7233 mermaid-block-header space-x-1 modeContainerRef mermaidContainer transition-[height] duration-150 ease-out mermaidContent markstream-vue2 mermaid-dialog markstream-pre--line-numbers markstream-pre--diff-preview markstream-pre--diff-inline markstream-pre__diff-code no pane.key markstream-pre__diff-pane line.key markstream-pre__diff-line markstream-pre__diff-rail markstream-pre__diff-number markstream-pre__diff-content markstream-pre__diff-content-inner textContent strikethrough-node strikethrough strong-node custom-id af3ce037 reference-node bg-[hsl(var(--muted))] px-1.5 mx-0.5 hover:bg-[hsl(var(--secondary))] mouseEnter mouseleave mouseLeave subscript-node subscript-child [_setup.nodeComponents[child.type] child.raw superscript-node superscript-child ef2512b4 table-node-wrapper tableRef my-8 table-node col border-[var(--table-border,#cbd5e1)] font-semibold p-[calc(4/7*1em)] right text-right cell.align center text-left cell.children table-node__resize-handle columns and pointerdown table-node-fade table-node__loading table-node__spinner text-node text-node-center text-node-stream-delta e8e0f51e hr-node tooltip ready z-[9999] inline-block text-base px-3 shadow-md pointer-events-none tooltip-element text-white border-gray-700 border"] vmr-container is common alias note markdown-renderer legacy-nodes-renderer item.renderKey node-slot item.index item.node.type node-content item.node item.node.loading item.indexKey dt definition-term dd definition-desc number top navigator.clipboard typeof navigator.clipboard.writeText href name xlink:href markstream-d2-root-svg string not instance.render instance missing object render returned empty window.requestAnimationFrame to smooth previewCode touchstart passive boolean preview-code plaintext line-info legacy off never background diff single [markstream-vue2] stream-monaco blocks will use basic enhanced editor theme provided themes array initialize window.getComputedStyle side-by-side div:first-child markstream-inline-fold-proxy aria-label codicon codicon-unfold event.key mousedown keydown up down post dark night moon black dracula mocha frappe macchiato palenight ocean poimandres monokai laserwave tokyo slack-dark rose-pine github-dark material-theme one-dark catppuccin-mocha catppuccin-frappe catppuccin-macchiato light latte dawn lotus explicit fontSize lineHeight paddingBottom paddingTop tabSize on same resize markstreamHtmlPolicy safe escape markstream-core markstreamFade markstreamTextStreamState raw index-key inline-code-stream-delta--a inline-code-stream-delta--b load primary failed fallback event.clientY pointermove mousemove infinite openModal element found transform ease fullscreen library p-4">Failed instanceof error.message infographic-action-btn hover:bg-gray-200 $$ paragraph custom-html-tags html_block child.type html_inline hunk context removed added markstream-pre__diff-pane--inline original markstream-pre__diff-pane--original modified markstream-pre__diff-pane--modified vitesse-dark vitesse-light lang darkBg display shiki shiki-fallback [MarkdownCodeBlockNode] dispose data-markstream-code-theme even stale stream-markdown stream-markdown.createShikiStreamRenderer available requires with ignoring using default language register configured retrying without overflow-y"] overflow-x"] toggleMode strict loose mermaid configure abort timed error?.message gantt viewBox width height get [data-mermaid-wrapper] open-modal toggle-mode transitionend retry mermaid-action-btn pointerup pointercancel markstreamStreamVersion text-node-stream-delta--a text-node-stream-delta--b handleArtifactClick markstreamTypewriter legacy-renderer langs unknown node.type code_block infographic d2 d2lang list containerRef mouseout fade handle-artifact-click item.bindings node-spacer node-placeholder typewriterCursorRef typewriter-cursor html-preview-frame__backdrop html-preview-frame html-preview-frame__header html-preview-frame__title html-preview-frame__dot html-preview-frame__label html-preview-frame__close html-preview-frame__iframe no-referrer srcdoc unknown-node htmlPreviewSandbox contains both allow-scripts this only fully trusted content served an isolated en utf-8 viewport content="width=device-width initial-scale=1 e.key rootRef portal-root mouseover show-tooltips markstreamSmoothStreaming markstreamShowTooltips globalThis.process globalThis.process?.env?.NODE_ENV test reverse scroll too-many-targets console viewportPriority virtualization peer dependencies are back inline-code rendering enable full features please install this.isDark mermaid-preview-area preformatted list_item definition_list footnote [data-node-index] math_block [data-node-type="code_block"] [data-node-type="admonition"] [data-node-type="table"] [data-node-type="math_block"] [data-node-type="html_block"] [data-node-type="image"]`
2
2
  module.exports = safeList;
3
3
  export default safeList;
@@ -1,5 +1,7 @@
1
1
  interface PreCodeNodeProps {
2
2
  node: any;
3
+ showLineNumbers?: boolean;
4
+ diffInline?: boolean;
3
5
  }
4
6
  declare const _default: import('vue-demi').DefineComponent<__VLS_TypePropsToOption<PreCodeNodeProps>, {}, {}, {}, {}, import('vue-demi').ComponentOptionsMixin, import('vue-demi').ComponentOptionsMixin, {}, string, Readonly<import('vue-demi').ExtractPropTypes<__VLS_TypePropsToOption<PreCodeNodeProps>>>, {}>;
5
7
  export default _default;
@@ -138,6 +138,8 @@ export interface LinkNodeProps {
138
138
  }
139
139
  export interface PreCodeNodeProps {
140
140
  node: CodeBlockNode;
141
+ showLineNumbers?: boolean;
142
+ diffInline?: boolean;
141
143
  }
142
144
  export interface MermaidBlockNodeProps {
143
145
  node: CodeBlockNode;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "markstream-vue2",
3
3
  "type": "module",
4
- "version": "0.0.46-beta.1",
4
+ "version": "0.0.46",
5
5
  "description": "Vue 2 Markdown renderer optimized for large documents with progressive Mermaid rendering, streaming diff code blocks, and fast real-time preview. Perfect for documentation sites, AI chat interfaces, and content management systems.",
6
6
  "author": "Simon He",
7
7
  "license": "MIT",
@@ -118,8 +118,8 @@
118
118
  "dependencies": {
119
119
  "@floating-ui/dom": "^1.7.6",
120
120
  "vue-demi": "^0.14.10",
121
- "stream-markdown-parser": "1.0.5",
122
- "markstream-core": "1.0.3"
121
+ "markstream-core": "1.0.3",
122
+ "stream-markdown-parser": "1.0.5"
123
123
  },
124
124
  "devDependencies": {
125
125
  "@vitejs/plugin-vue2": "^2.3.4",
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./workers-ac3ab4dd.cjs"),t=require("./lspLanguageFeatures-7b72a0c0.cjs"),r=require("./index.legacy-b598deaf.cjs");require("shiki");class o{constructor(e){this._defaults=e,this._worker=null,this._client=null,this._idleCheckInterval=window.setInterval(()=>this._checkIfIdle(),3e4),this._lastUsedTime=0,this._configChangeListener=this._defaults.onDidChange(()=>this._stopWorker())}_stopWorker(){this._worker&&(this._worker.dispose(),this._worker=null),this._client=null}dispose(){clearInterval(this._idleCheckInterval),this._configChangeListener.dispose(),this._stopWorker()}_checkIfIdle(){this._worker&&Date.now()-this._lastUsedTime>12e4&&this._stopWorker()}_getClient(){return this._lastUsedTime=Date.now(),this._client||(this._worker=e.createWebWorker({moduleId:"vs/language/css/cssWorker",createWorker:()=>new Worker(new URL("/workers/css.worker.js",self.location),{type:"module"}),label:this._defaults.languageId,createData:{options:this._defaults.options,languageId:this._defaults.languageId}}),this._client=this._worker.getProxy()),this._client}getLanguageServiceWorker(...e){let t;return this._getClient().then(e=>{t=e}).then(t=>{if(this._worker)return this._worker.withSyncedResources(e)}).then(e=>t)}}function n(e){return{dispose:()=>i(e)}}function i(e){for(;e.length;)e.pop().dispose()}exports.CompletionAdapter=t.CompletionAdapter,exports.DefinitionAdapter=t.DefinitionAdapter,exports.DiagnosticsAdapter=t.DiagnosticsAdapter,exports.DocumentColorAdapter=t.DocumentColorAdapter,exports.DocumentFormattingEditProvider=t.DocumentFormattingEditProvider,exports.DocumentHighlightAdapter=t.DocumentHighlightAdapter,exports.DocumentLinkAdapter=t.DocumentLinkAdapter,exports.DocumentRangeFormattingEditProvider=t.DocumentRangeFormattingEditProvider,exports.DocumentSymbolAdapter=t.DocumentSymbolAdapter,exports.FoldingRangeAdapter=t.FoldingRangeAdapter,exports.HoverAdapter=t.HoverAdapter,exports.ReferenceAdapter=t.ReferenceAdapter,exports.RenameAdapter=t.RenameAdapter,exports.SelectionRangeAdapter=t.SelectionRangeAdapter,exports.fromPosition=t.fromPosition,exports.fromRange=t.fromRange,exports.toRange=t.toRange,exports.toTextEdit=t.toTextEdit,exports.WorkerManager=o,exports.setupMode=function(e){const s=[],a=[],g=new o(e);s.push(g);const d=(...e)=>g.getLanguageServiceWorker(...e);return function(){const{languageId:o,modeConfiguration:n}=e;i(a),n.completionItems&&a.push(r.languages.registerCompletionItemProvider(o,new t.CompletionAdapter(d,["/","-",":"]))),n.hovers&&a.push(r.languages.registerHoverProvider(o,new t.HoverAdapter(d))),n.documentHighlights&&a.push(r.languages.registerDocumentHighlightProvider(o,new t.DocumentHighlightAdapter(d))),n.definitions&&a.push(r.languages.registerDefinitionProvider(o,new t.DefinitionAdapter(d))),n.references&&a.push(r.languages.registerReferenceProvider(o,new t.ReferenceAdapter(d))),n.documentSymbols&&a.push(r.languages.registerDocumentSymbolProvider(o,new t.DocumentSymbolAdapter(d))),n.rename&&a.push(r.languages.registerRenameProvider(o,new t.RenameAdapter(d))),n.colors&&a.push(r.languages.registerColorProvider(o,new t.DocumentColorAdapter(d))),n.foldingRanges&&a.push(r.languages.registerFoldingRangeProvider(o,new t.FoldingRangeAdapter(d))),n.diagnostics&&a.push(new t.DiagnosticsAdapter(o,d,e.onDidChange)),n.selectionRanges&&a.push(r.languages.registerSelectionRangeProvider(o,new t.SelectionRangeAdapter(d))),n.documentFormattingEdits&&a.push(r.languages.registerDocumentFormattingEditProvider(o,new t.DocumentFormattingEditProvider(d))),n.documentRangeFormattingEdits&&a.push(r.languages.registerDocumentRangeFormattingEditProvider(o,new t.DocumentRangeFormattingEditProvider(d)))}(),s.push(n(a)),n(s)};
@@ -1,206 +0,0 @@
1
- import { c as createWebWorker } from "./workers-c9c93e2c.js";
2
- import { C as CompletionAdapter, H as HoverAdapter, f as DocumentHighlightAdapter, e as DefinitionAdapter, R as ReferenceAdapter, b as DocumentSymbolAdapter, h as RenameAdapter, c as DocumentColorAdapter, F as FoldingRangeAdapter, d as DiagnosticsAdapter, S as SelectionRangeAdapter, D as DocumentFormattingEditProvider, a as DocumentRangeFormattingEditProvider } from "./lspLanguageFeatures-8d6ce48e.js";
3
- import { g, i, j, t, k } from "./lspLanguageFeatures-8d6ce48e.js";
4
- import { l as languages } from "./index.legacy-1f634d9d.js";
5
- import "shiki";
6
- const STOP_WHEN_IDLE_FOR = 2 * 60 * 1e3;
7
- class WorkerManager {
8
- constructor(defaults) {
9
- this._defaults = defaults;
10
- this._worker = null;
11
- this._client = null;
12
- this._idleCheckInterval = window.setInterval(() => this._checkIfIdle(), 30 * 1e3);
13
- this._lastUsedTime = 0;
14
- this._configChangeListener = this._defaults.onDidChange(() => this._stopWorker());
15
- }
16
- _stopWorker() {
17
- if (this._worker) {
18
- this._worker.dispose();
19
- this._worker = null;
20
- }
21
- this._client = null;
22
- }
23
- dispose() {
24
- clearInterval(this._idleCheckInterval);
25
- this._configChangeListener.dispose();
26
- this._stopWorker();
27
- }
28
- _checkIfIdle() {
29
- if (!this._worker) {
30
- return;
31
- }
32
- let timePassedSinceLastUsed = Date.now() - this._lastUsedTime;
33
- if (timePassedSinceLastUsed > STOP_WHEN_IDLE_FOR) {
34
- this._stopWorker();
35
- }
36
- }
37
- _getClient() {
38
- this._lastUsedTime = Date.now();
39
- if (!this._client) {
40
- this._worker = createWebWorker({
41
- // module that exports the create() method and returns a `CSSWorker` instance
42
- moduleId: "vs/language/css/cssWorker",
43
- createWorker: () => new Worker(new URL("/workers/css.worker.js", self.location), { type: "module" }),
44
- label: this._defaults.languageId,
45
- // passed in to the create() method
46
- createData: {
47
- options: this._defaults.options,
48
- languageId: this._defaults.languageId
49
- }
50
- });
51
- this._client = this._worker.getProxy();
52
- }
53
- return this._client;
54
- }
55
- getLanguageServiceWorker(...resources) {
56
- let _client;
57
- return this._getClient().then((client) => {
58
- _client = client;
59
- }).then((_) => {
60
- if (this._worker) {
61
- return this._worker.withSyncedResources(resources);
62
- }
63
- }).then((_) => _client);
64
- }
65
- }
66
- function setupMode(defaults) {
67
- const disposables = [];
68
- const providers = [];
69
- const client = new WorkerManager(defaults);
70
- disposables.push(client);
71
- const worker = (...uris) => {
72
- return client.getLanguageServiceWorker(...uris);
73
- };
74
- function registerProviders() {
75
- const { languageId, modeConfiguration } = defaults;
76
- disposeAll(providers);
77
- if (modeConfiguration.completionItems) {
78
- providers.push(
79
- languages.registerCompletionItemProvider(
80
- languageId,
81
- new CompletionAdapter(worker, ["/", "-", ":"])
82
- )
83
- );
84
- }
85
- if (modeConfiguration.hovers) {
86
- providers.push(
87
- languages.registerHoverProvider(languageId, new HoverAdapter(worker))
88
- );
89
- }
90
- if (modeConfiguration.documentHighlights) {
91
- providers.push(
92
- languages.registerDocumentHighlightProvider(
93
- languageId,
94
- new DocumentHighlightAdapter(worker)
95
- )
96
- );
97
- }
98
- if (modeConfiguration.definitions) {
99
- providers.push(
100
- languages.registerDefinitionProvider(
101
- languageId,
102
- new DefinitionAdapter(worker)
103
- )
104
- );
105
- }
106
- if (modeConfiguration.references) {
107
- providers.push(
108
- languages.registerReferenceProvider(
109
- languageId,
110
- new ReferenceAdapter(worker)
111
- )
112
- );
113
- }
114
- if (modeConfiguration.documentSymbols) {
115
- providers.push(
116
- languages.registerDocumentSymbolProvider(
117
- languageId,
118
- new DocumentSymbolAdapter(worker)
119
- )
120
- );
121
- }
122
- if (modeConfiguration.rename) {
123
- providers.push(
124
- languages.registerRenameProvider(languageId, new RenameAdapter(worker))
125
- );
126
- }
127
- if (modeConfiguration.colors) {
128
- providers.push(
129
- languages.registerColorProvider(
130
- languageId,
131
- new DocumentColorAdapter(worker)
132
- )
133
- );
134
- }
135
- if (modeConfiguration.foldingRanges) {
136
- providers.push(
137
- languages.registerFoldingRangeProvider(
138
- languageId,
139
- new FoldingRangeAdapter(worker)
140
- )
141
- );
142
- }
143
- if (modeConfiguration.diagnostics) {
144
- providers.push(
145
- new DiagnosticsAdapter(languageId, worker, defaults.onDidChange)
146
- );
147
- }
148
- if (modeConfiguration.selectionRanges) {
149
- providers.push(
150
- languages.registerSelectionRangeProvider(
151
- languageId,
152
- new SelectionRangeAdapter(worker)
153
- )
154
- );
155
- }
156
- if (modeConfiguration.documentFormattingEdits) {
157
- providers.push(
158
- languages.registerDocumentFormattingEditProvider(
159
- languageId,
160
- new DocumentFormattingEditProvider(worker)
161
- )
162
- );
163
- }
164
- if (modeConfiguration.documentRangeFormattingEdits) {
165
- providers.push(
166
- languages.registerDocumentRangeFormattingEditProvider(
167
- languageId,
168
- new DocumentRangeFormattingEditProvider(worker)
169
- )
170
- );
171
- }
172
- }
173
- registerProviders();
174
- disposables.push(asDisposable(providers));
175
- return asDisposable(disposables);
176
- }
177
- function asDisposable(disposables) {
178
- return { dispose: () => disposeAll(disposables) };
179
- }
180
- function disposeAll(disposables) {
181
- while (disposables.length) {
182
- disposables.pop().dispose();
183
- }
184
- }
185
- export {
186
- CompletionAdapter,
187
- DefinitionAdapter,
188
- DiagnosticsAdapter,
189
- DocumentColorAdapter,
190
- DocumentFormattingEditProvider,
191
- DocumentHighlightAdapter,
192
- g as DocumentLinkAdapter,
193
- DocumentRangeFormattingEditProvider,
194
- DocumentSymbolAdapter,
195
- FoldingRangeAdapter,
196
- HoverAdapter,
197
- ReferenceAdapter,
198
- RenameAdapter,
199
- SelectionRangeAdapter,
200
- WorkerManager,
201
- i as fromPosition,
202
- j as fromRange,
203
- setupMode,
204
- t as toRange,
205
- k as toTextEdit
206
- };
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./workers-ac3ab4dd.cjs"),t=require("./lspLanguageFeatures-7b72a0c0.cjs"),r=require("./index.legacy-b598deaf.cjs");require("shiki");class n{constructor(e){this._defaults=e,this._worker=null,this._client=null,this._idleCheckInterval=window.setInterval(()=>this._checkIfIdle(),3e4),this._lastUsedTime=0,this._configChangeListener=this._defaults.onDidChange(()=>this._stopWorker())}_stopWorker(){this._worker&&(this._worker.dispose(),this._worker=null),this._client=null}dispose(){clearInterval(this._idleCheckInterval),this._configChangeListener.dispose(),this._stopWorker()}_checkIfIdle(){this._worker&&Date.now()-this._lastUsedTime>12e4&&this._stopWorker()}_getClient(){return this._lastUsedTime=Date.now(),this._client||(this._worker=e.createWebWorker({moduleId:"vs/language/html/htmlWorker",createWorker:()=>new Worker(new URL("/workers/html.worker.js",self.location),{type:"module"}),createData:{languageSettings:this._defaults.options,languageId:this._defaults.languageId},label:this._defaults.languageId}),this._client=this._worker.getProxy()),this._client}getLanguageServiceWorker(...e){let t;return this._getClient().then(e=>{t=e}).then(t=>{if(this._worker)return this._worker.withSyncedResources(e)}).then(e=>t)}}class o extends t.CompletionAdapter{constructor(e){super(e,[".",":","<",'"',"=","/"])}}function i(e){return{dispose:()=>a(e)}}function a(e){for(;e.length;)e.pop().dispose()}exports.CompletionAdapter=t.CompletionAdapter,exports.DefinitionAdapter=t.DefinitionAdapter,exports.DiagnosticsAdapter=t.DiagnosticsAdapter,exports.DocumentColorAdapter=t.DocumentColorAdapter,exports.DocumentFormattingEditProvider=t.DocumentFormattingEditProvider,exports.DocumentHighlightAdapter=t.DocumentHighlightAdapter,exports.DocumentLinkAdapter=t.DocumentLinkAdapter,exports.DocumentRangeFormattingEditProvider=t.DocumentRangeFormattingEditProvider,exports.DocumentSymbolAdapter=t.DocumentSymbolAdapter,exports.FoldingRangeAdapter=t.FoldingRangeAdapter,exports.HoverAdapter=t.HoverAdapter,exports.ReferenceAdapter=t.ReferenceAdapter,exports.RenameAdapter=t.RenameAdapter,exports.SelectionRangeAdapter=t.SelectionRangeAdapter,exports.fromPosition=t.fromPosition,exports.fromRange=t.fromRange,exports.toRange=t.toRange,exports.toTextEdit=t.toTextEdit,exports.WorkerManager=n,exports.setupMode=function(e){const s=[],g=[],d=new n(e);s.push(d);const l=(...e)=>d.getLanguageServiceWorker(...e);return function(){const{languageId:n,modeConfiguration:i}=e;a(g),i.completionItems&&g.push(r.languages.registerCompletionItemProvider(n,new o(l))),i.hovers&&g.push(r.languages.registerHoverProvider(n,new t.HoverAdapter(l))),i.documentHighlights&&g.push(r.languages.registerDocumentHighlightProvider(n,new t.DocumentHighlightAdapter(l))),i.links&&g.push(r.languages.registerLinkProvider(n,new t.DocumentLinkAdapter(l))),i.documentSymbols&&g.push(r.languages.registerDocumentSymbolProvider(n,new t.DocumentSymbolAdapter(l))),i.rename&&g.push(r.languages.registerRenameProvider(n,new t.RenameAdapter(l))),i.foldingRanges&&g.push(r.languages.registerFoldingRangeProvider(n,new t.FoldingRangeAdapter(l))),i.selectionRanges&&g.push(r.languages.registerSelectionRangeProvider(n,new t.SelectionRangeAdapter(l))),i.documentFormattingEdits&&g.push(r.languages.registerDocumentFormattingEditProvider(n,new t.DocumentFormattingEditProvider(l))),i.documentRangeFormattingEdits&&g.push(r.languages.registerDocumentRangeFormattingEditProvider(n,new t.DocumentRangeFormattingEditProvider(l)))}(),s.push(i(g)),i(s)},exports.setupMode1=function(e){const i=new n(e),a=(...e)=>i.getLanguageServiceWorker(...e);let s=e.languageId;r.languages.registerCompletionItemProvider(s,new o(a)),r.languages.registerHoverProvider(s,new t.HoverAdapter(a)),r.languages.registerDocumentHighlightProvider(s,new t.DocumentHighlightAdapter(a)),r.languages.registerLinkProvider(s,new t.DocumentLinkAdapter(a)),r.languages.registerFoldingRangeProvider(s,new t.FoldingRangeAdapter(a)),r.languages.registerDocumentSymbolProvider(s,new t.DocumentSymbolAdapter(a)),r.languages.registerSelectionRangeProvider(s,new t.SelectionRangeAdapter(a)),r.languages.registerRenameProvider(s,new t.RenameAdapter(a)),"html"===s&&(r.languages.registerDocumentFormattingEditProvider(s,new t.DocumentFormattingEditProvider(a)),r.languages.registerDocumentRangeFormattingEditProvider(s,new t.DocumentRangeFormattingEditProvider(a)))};
@@ -1,222 +0,0 @@
1
- import { c as createWebWorker } from "./workers-c9c93e2c.js";
2
- import { H as HoverAdapter, f as DocumentHighlightAdapter, g as DocumentLinkAdapter, F as FoldingRangeAdapter, b as DocumentSymbolAdapter, S as SelectionRangeAdapter, h as RenameAdapter, D as DocumentFormattingEditProvider, a as DocumentRangeFormattingEditProvider, C as CompletionAdapter } from "./lspLanguageFeatures-8d6ce48e.js";
3
- import { e, d, c, R, i, j, t, k } from "./lspLanguageFeatures-8d6ce48e.js";
4
- import { l as languages } from "./index.legacy-1f634d9d.js";
5
- import "shiki";
6
- const STOP_WHEN_IDLE_FOR = 2 * 60 * 1e3;
7
- class WorkerManager {
8
- constructor(defaults) {
9
- this._defaults = defaults;
10
- this._worker = null;
11
- this._client = null;
12
- this._idleCheckInterval = window.setInterval(() => this._checkIfIdle(), 30 * 1e3);
13
- this._lastUsedTime = 0;
14
- this._configChangeListener = this._defaults.onDidChange(() => this._stopWorker());
15
- }
16
- _stopWorker() {
17
- if (this._worker) {
18
- this._worker.dispose();
19
- this._worker = null;
20
- }
21
- this._client = null;
22
- }
23
- dispose() {
24
- clearInterval(this._idleCheckInterval);
25
- this._configChangeListener.dispose();
26
- this._stopWorker();
27
- }
28
- _checkIfIdle() {
29
- if (!this._worker) {
30
- return;
31
- }
32
- let timePassedSinceLastUsed = Date.now() - this._lastUsedTime;
33
- if (timePassedSinceLastUsed > STOP_WHEN_IDLE_FOR) {
34
- this._stopWorker();
35
- }
36
- }
37
- _getClient() {
38
- this._lastUsedTime = Date.now();
39
- if (!this._client) {
40
- this._worker = createWebWorker({
41
- // module that exports the create() method and returns a `HTMLWorker` instance
42
- moduleId: "vs/language/html/htmlWorker",
43
- createWorker: () => new Worker(new URL("/workers/html.worker.js", self.location), { type: "module" }),
44
- // passed in to the create() method
45
- createData: {
46
- languageSettings: this._defaults.options,
47
- languageId: this._defaults.languageId
48
- },
49
- label: this._defaults.languageId
50
- });
51
- this._client = this._worker.getProxy();
52
- }
53
- return this._client;
54
- }
55
- getLanguageServiceWorker(...resources) {
56
- let _client;
57
- return this._getClient().then((client) => {
58
- _client = client;
59
- }).then((_) => {
60
- if (this._worker) {
61
- return this._worker.withSyncedResources(resources);
62
- }
63
- }).then((_) => _client);
64
- }
65
- }
66
- class HTMLCompletionAdapter extends CompletionAdapter {
67
- constructor(worker) {
68
- super(worker, [".", ":", "<", '"', "=", "/"]);
69
- }
70
- }
71
- function setupMode1(defaults) {
72
- const client = new WorkerManager(defaults);
73
- const worker = (...uris) => {
74
- return client.getLanguageServiceWorker(...uris);
75
- };
76
- let languageId = defaults.languageId;
77
- languages.registerCompletionItemProvider(languageId, new HTMLCompletionAdapter(worker));
78
- languages.registerHoverProvider(languageId, new HoverAdapter(worker));
79
- languages.registerDocumentHighlightProvider(
80
- languageId,
81
- new DocumentHighlightAdapter(worker)
82
- );
83
- languages.registerLinkProvider(languageId, new DocumentLinkAdapter(worker));
84
- languages.registerFoldingRangeProvider(
85
- languageId,
86
- new FoldingRangeAdapter(worker)
87
- );
88
- languages.registerDocumentSymbolProvider(
89
- languageId,
90
- new DocumentSymbolAdapter(worker)
91
- );
92
- languages.registerSelectionRangeProvider(
93
- languageId,
94
- new SelectionRangeAdapter(worker)
95
- );
96
- languages.registerRenameProvider(languageId, new RenameAdapter(worker));
97
- if (languageId === "html") {
98
- languages.registerDocumentFormattingEditProvider(
99
- languageId,
100
- new DocumentFormattingEditProvider(worker)
101
- );
102
- languages.registerDocumentRangeFormattingEditProvider(
103
- languageId,
104
- new DocumentRangeFormattingEditProvider(worker)
105
- );
106
- }
107
- }
108
- function setupMode(defaults) {
109
- const disposables = [];
110
- const providers = [];
111
- const client = new WorkerManager(defaults);
112
- disposables.push(client);
113
- const worker = (...uris) => {
114
- return client.getLanguageServiceWorker(...uris);
115
- };
116
- function registerProviders() {
117
- const { languageId, modeConfiguration } = defaults;
118
- disposeAll(providers);
119
- if (modeConfiguration.completionItems) {
120
- providers.push(
121
- languages.registerCompletionItemProvider(languageId, new HTMLCompletionAdapter(worker))
122
- );
123
- }
124
- if (modeConfiguration.hovers) {
125
- providers.push(
126
- languages.registerHoverProvider(languageId, new HoverAdapter(worker))
127
- );
128
- }
129
- if (modeConfiguration.documentHighlights) {
130
- providers.push(
131
- languages.registerDocumentHighlightProvider(
132
- languageId,
133
- new DocumentHighlightAdapter(worker)
134
- )
135
- );
136
- }
137
- if (modeConfiguration.links) {
138
- providers.push(
139
- languages.registerLinkProvider(languageId, new DocumentLinkAdapter(worker))
140
- );
141
- }
142
- if (modeConfiguration.documentSymbols) {
143
- providers.push(
144
- languages.registerDocumentSymbolProvider(
145
- languageId,
146
- new DocumentSymbolAdapter(worker)
147
- )
148
- );
149
- }
150
- if (modeConfiguration.rename) {
151
- providers.push(
152
- languages.registerRenameProvider(languageId, new RenameAdapter(worker))
153
- );
154
- }
155
- if (modeConfiguration.foldingRanges) {
156
- providers.push(
157
- languages.registerFoldingRangeProvider(
158
- languageId,
159
- new FoldingRangeAdapter(worker)
160
- )
161
- );
162
- }
163
- if (modeConfiguration.selectionRanges) {
164
- providers.push(
165
- languages.registerSelectionRangeProvider(
166
- languageId,
167
- new SelectionRangeAdapter(worker)
168
- )
169
- );
170
- }
171
- if (modeConfiguration.documentFormattingEdits) {
172
- providers.push(
173
- languages.registerDocumentFormattingEditProvider(
174
- languageId,
175
- new DocumentFormattingEditProvider(worker)
176
- )
177
- );
178
- }
179
- if (modeConfiguration.documentRangeFormattingEdits) {
180
- providers.push(
181
- languages.registerDocumentRangeFormattingEditProvider(
182
- languageId,
183
- new DocumentRangeFormattingEditProvider(worker)
184
- )
185
- );
186
- }
187
- }
188
- registerProviders();
189
- disposables.push(asDisposable(providers));
190
- return asDisposable(disposables);
191
- }
192
- function asDisposable(disposables) {
193
- return { dispose: () => disposeAll(disposables) };
194
- }
195
- function disposeAll(disposables) {
196
- while (disposables.length) {
197
- disposables.pop().dispose();
198
- }
199
- }
200
- export {
201
- CompletionAdapter,
202
- e as DefinitionAdapter,
203
- d as DiagnosticsAdapter,
204
- c as DocumentColorAdapter,
205
- DocumentFormattingEditProvider,
206
- DocumentHighlightAdapter,
207
- DocumentLinkAdapter,
208
- DocumentRangeFormattingEditProvider,
209
- DocumentSymbolAdapter,
210
- FoldingRangeAdapter,
211
- HoverAdapter,
212
- R as ReferenceAdapter,
213
- RenameAdapter,
214
- SelectionRangeAdapter,
215
- WorkerManager,
216
- i as fromPosition,
217
- j as fromRange,
218
- setupMode,
219
- setupMode1,
220
- t as toRange,
221
- k as toTextEdit
222
- };