@lvce-editor/extension-host-worker 8.17.0 → 8.18.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.
Files changed (163) hide show
  1. package/dist/extension-api/index.js +62 -0
  2. package/dist/extension-api/parts/ExecuteHoverProvider/ExecuteHoverProvider.js +4 -0
  3. package/dist/extension-api/parts/ExtensionApiCommandMap/ExtensionApiCommandMap.js +3 -0
  4. package/dist/extension-api/parts/GetHoverProviderRegistrySnapshot/GetHoverProviderRegistrySnapshot.js +4 -0
  5. package/dist/extension-api/parts/Hover/Hover.js +10 -0
  6. package/dist/extension-api/parts/HoverProvider/HoverProvider.js +0 -0
  7. package/dist/extension-api/parts/HoverProviderRegistry/HoverProviderRegistry.js +64 -0
  8. package/dist/extension-api/parts/HoverProviderRegistrySnapshot/HoverProviderRegistrySnapshot.js +0 -0
  9. package/dist/extension-api/parts/HoverResult/HoverResult.js +0 -0
  10. package/dist/extension-api/parts/HoverTextDocument/HoverTextDocument.js +0 -0
  11. package/dist/extension-api/parts/RegisterHoverProvider/RegisterHoverProvider.js +4 -0
  12. package/dist/extension-api/parts/RegisteredHoverProvider/RegisteredHoverProvider.js +0 -0
  13. package/dist/extension-api/parts/ResetHoverProviderRegistry/ResetHoverProviderRegistry.js +4 -0
  14. package/dist/extensionHostWorkerMain.js +31 -4
  15. package/extension-api/LICENSE +21 -0
  16. package/extension-api/README.md +23 -0
  17. package/extension-api/dist/index.d.ts +20 -0
  18. package/extension-api/dist/index.js +9 -0
  19. package/extension-api/dist/parts/Activation/Activation.d.ts +1 -0
  20. package/extension-api/dist/parts/Activation/Activation.js +10 -0
  21. package/extension-api/dist/parts/AssertCompletionProvider/AssertCompletionProvider.d.ts +2 -0
  22. package/extension-api/dist/parts/AssertCompletionProvider/AssertCompletionProvider.js +22 -0
  23. package/extension-api/dist/parts/AssertFormattingProvider/AssertFormattingProvider.d.ts +2 -0
  24. package/extension-api/dist/parts/AssertFormattingProvider/AssertFormattingProvider.js +19 -0
  25. package/extension-api/dist/parts/AssertStatusBarItemProvider/AssertStatusBarItemProvider.d.ts +2 -0
  26. package/extension-api/dist/parts/AssertStatusBarItemProvider/AssertStatusBarItemProvider.js +16 -0
  27. package/extension-api/dist/parts/Command/Command.d.ts +5 -0
  28. package/extension-api/dist/parts/Command/Command.js +1 -0
  29. package/extension-api/dist/parts/CommandCallback/CommandCallback.d.ts +1 -0
  30. package/extension-api/dist/parts/CommandCallback/CommandCallback.js +1 -0
  31. package/extension-api/dist/parts/CommandMap/CommandMap.d.ts +13 -0
  32. package/extension-api/dist/parts/CommandMap/CommandMap.js +11 -0
  33. package/extension-api/dist/parts/CommandRegistry/CommandRegistry.d.ts +7 -0
  34. package/extension-api/dist/parts/CommandRegistry/CommandRegistry.js +47 -0
  35. package/extension-api/dist/parts/CommandRegistrySnapshot/CommandRegistrySnapshot.d.ts +4 -0
  36. package/extension-api/dist/parts/CommandRegistrySnapshot/CommandRegistrySnapshot.js +1 -0
  37. package/extension-api/dist/parts/Completion/Completion.d.ts +9 -0
  38. package/extension-api/dist/parts/Completion/Completion.js +4 -0
  39. package/extension-api/dist/parts/CompletionItem/CompletionItem.d.ts +3 -0
  40. package/extension-api/dist/parts/CompletionItem/CompletionItem.js +1 -0
  41. package/extension-api/dist/parts/CompletionProvider/CompletionProvider.d.ts +8 -0
  42. package/extension-api/dist/parts/CompletionProvider/CompletionProvider.js +1 -0
  43. package/extension-api/dist/parts/CompletionProviderRegistry/CompletionProviderRegistry.d.ts +13 -0
  44. package/extension-api/dist/parts/CompletionProviderRegistry/CompletionProviderRegistry.js +66 -0
  45. package/extension-api/dist/parts/CompletionProviderRegistrySnapshot/CompletionProviderRegistrySnapshot.d.ts +4 -0
  46. package/extension-api/dist/parts/CompletionProviderRegistrySnapshot/CompletionProviderRegistrySnapshot.js +1 -0
  47. package/extension-api/dist/parts/CompletionProviderState/CompletionProviderState.d.ts +1 -0
  48. package/extension-api/dist/parts/CompletionProviderState/CompletionProviderState.js +1 -0
  49. package/extension-api/dist/parts/CompletionTextDocument/CompletionTextDocument.d.ts +6 -0
  50. package/extension-api/dist/parts/CompletionTextDocument/CompletionTextDocument.js +1 -0
  51. package/extension-api/dist/parts/Disposable/Disposable.d.ts +3 -0
  52. package/extension-api/dist/parts/Disposable/Disposable.js +1 -0
  53. package/extension-api/dist/parts/ExecuteCommand/ExecuteCommand.d.ts +1 -0
  54. package/extension-api/dist/parts/ExecuteCommand/ExecuteCommand.js +4 -0
  55. package/extension-api/dist/parts/ExecuteCompletionProvider/ExecuteCompletionProvider.d.ts +1 -0
  56. package/extension-api/dist/parts/ExecuteCompletionProvider/ExecuteCompletionProvider.js +1 -0
  57. package/extension-api/dist/parts/ExecuteFormattingProvider/ExecuteFormattingProvider.d.ts +1 -0
  58. package/extension-api/dist/parts/ExecuteFormattingProvider/ExecuteFormattingProvider.js +1 -0
  59. package/extension-api/dist/parts/ExecuteHoverProvider/ExecuteHoverProvider.d.ts +1 -0
  60. package/extension-api/dist/parts/ExecuteHoverProvider/ExecuteHoverProvider.js +1 -0
  61. package/extension-api/dist/parts/ExtensionApiCommandMap/ExtensionApiCommandMap.d.ts +12 -0
  62. package/extension-api/dist/parts/ExtensionApiCommandMap/ExtensionApiCommandMap.js +17 -0
  63. package/extension-api/dist/parts/ExtensionApiError/ExtensionApiError.d.ts +3 -0
  64. package/extension-api/dist/parts/ExtensionApiError/ExtensionApiError.js +6 -0
  65. package/extension-api/dist/parts/ExtensionApiWorkerCommandMap/ExtensionApiWorkerCommandMap.d.ts +14 -0
  66. package/extension-api/dist/parts/ExtensionApiWorkerCommandMap/ExtensionApiWorkerCommandMap.js +12 -0
  67. package/extension-api/dist/parts/ExtensionApiWorkerHandleMessagePort/ExtensionApiWorkerHandleMessagePort.d.ts +1 -0
  68. package/extension-api/dist/parts/ExtensionApiWorkerHandleMessagePort/ExtensionApiWorkerHandleMessagePort.js +18 -0
  69. package/extension-api/dist/parts/ExtensionApiWorkerListen/ExtensionApiWorkerListen.d.ts +2 -0
  70. package/extension-api/dist/parts/ExtensionApiWorkerListen/ExtensionApiWorkerListen.js +8 -0
  71. package/extension-api/dist/parts/Formatting/Formatting.d.ts +9 -0
  72. package/extension-api/dist/parts/Formatting/Formatting.js +4 -0
  73. package/extension-api/dist/parts/FormattingEdit/FormattingEdit.d.ts +5 -0
  74. package/extension-api/dist/parts/FormattingEdit/FormattingEdit.js +1 -0
  75. package/extension-api/dist/parts/FormattingProvider/FormattingProvider.d.ts +7 -0
  76. package/extension-api/dist/parts/FormattingProvider/FormattingProvider.js +1 -0
  77. package/extension-api/dist/parts/FormattingProviderRegistry/FormattingProviderRegistry.d.ts +12 -0
  78. package/extension-api/dist/parts/FormattingProviderRegistry/FormattingProviderRegistry.js +34 -0
  79. package/extension-api/dist/parts/FormattingProviderRegistrySnapshot/FormattingProviderRegistrySnapshot.d.ts +4 -0
  80. package/extension-api/dist/parts/FormattingProviderRegistrySnapshot/FormattingProviderRegistrySnapshot.js +1 -0
  81. package/extension-api/dist/parts/FormattingProviderState/FormattingProviderState.d.ts +1 -0
  82. package/extension-api/dist/parts/FormattingProviderState/FormattingProviderState.js +1 -0
  83. package/extension-api/dist/parts/FormattingTextDocument/FormattingTextDocument.d.ts +6 -0
  84. package/extension-api/dist/parts/FormattingTextDocument/FormattingTextDocument.js +1 -0
  85. package/extension-api/dist/parts/GetCompletionProviderRegistrySnapshot/GetCompletionProviderRegistrySnapshot.d.ts +1 -0
  86. package/extension-api/dist/parts/GetCompletionProviderRegistrySnapshot/GetCompletionProviderRegistrySnapshot.js +1 -0
  87. package/extension-api/dist/parts/GetFormattingProviderRegistrySnapshot/GetFormattingProviderRegistrySnapshot.d.ts +1 -0
  88. package/extension-api/dist/parts/GetFormattingProviderRegistrySnapshot/GetFormattingProviderRegistrySnapshot.js +1 -0
  89. package/extension-api/dist/parts/GetHoverProviderRegistrySnapshot/GetHoverProviderRegistrySnapshot.d.ts +1 -0
  90. package/extension-api/dist/parts/GetHoverProviderRegistrySnapshot/GetHoverProviderRegistrySnapshot.js +1 -0
  91. package/extension-api/dist/parts/GetStatusBarItemProviderRegistrySnapshot/GetStatusBarItemProviderRegistrySnapshot.d.ts +1 -0
  92. package/extension-api/dist/parts/GetStatusBarItemProviderRegistrySnapshot/GetStatusBarItemProviderRegistrySnapshot.js +1 -0
  93. package/extension-api/dist/parts/GetStatusBarItems/GetStatusBarItems.d.ts +1 -0
  94. package/extension-api/dist/parts/GetStatusBarItems/GetStatusBarItems.js +1 -0
  95. package/extension-api/dist/parts/HandleExtensionManagementMessagePort/HandleExtensionManagementMessagePort.d.ts +9 -0
  96. package/extension-api/dist/parts/HandleExtensionManagementMessagePort/HandleExtensionManagementMessagePort.js +10 -0
  97. package/extension-api/dist/parts/Hover/Hover.d.ts +9 -0
  98. package/extension-api/dist/parts/Hover/Hover.js +4 -0
  99. package/extension-api/dist/parts/HoverProvider/HoverProvider.d.ts +7 -0
  100. package/extension-api/dist/parts/HoverProvider/HoverProvider.js +1 -0
  101. package/extension-api/dist/parts/HoverProviderRegistry/HoverProviderRegistry.d.ts +12 -0
  102. package/extension-api/dist/parts/HoverProviderRegistry/HoverProviderRegistry.js +56 -0
  103. package/extension-api/dist/parts/HoverProviderRegistrySnapshot/HoverProviderRegistrySnapshot.d.ts +4 -0
  104. package/extension-api/dist/parts/HoverProviderRegistrySnapshot/HoverProviderRegistrySnapshot.js +1 -0
  105. package/extension-api/dist/parts/HoverResult/HoverResult.d.ts +6 -0
  106. package/extension-api/dist/parts/HoverResult/HoverResult.js +1 -0
  107. package/extension-api/dist/parts/HoverTextDocument/HoverTextDocument.d.ts +6 -0
  108. package/extension-api/dist/parts/HoverTextDocument/HoverTextDocument.js +1 -0
  109. package/extension-api/dist/parts/NotifyStatusBarChange/NotifyStatusBarChange.d.ts +1 -0
  110. package/extension-api/dist/parts/NotifyStatusBarChange/NotifyStatusBarChange.js +4 -0
  111. package/extension-api/dist/parts/ProviderRegistry/ProviderRegistry.d.ts +21 -0
  112. package/extension-api/dist/parts/ProviderRegistry/ProviderRegistry.js +86 -0
  113. package/extension-api/dist/parts/QuickPick/QuickPick.d.ts +2 -0
  114. package/extension-api/dist/parts/QuickPick/QuickPick.js +4 -0
  115. package/extension-api/dist/parts/QuickPickItem/QuickPickItem.d.ts +5 -0
  116. package/extension-api/dist/parts/QuickPickItem/QuickPickItem.js +1 -0
  117. package/extension-api/dist/parts/RegisterCompletionProvider/RegisterCompletionProvider.d.ts +1 -0
  118. package/extension-api/dist/parts/RegisterCompletionProvider/RegisterCompletionProvider.js +1 -0
  119. package/extension-api/dist/parts/RegisterFormattingProvider/RegisterFormattingProvider.d.ts +1 -0
  120. package/extension-api/dist/parts/RegisterFormattingProvider/RegisterFormattingProvider.js +1 -0
  121. package/extension-api/dist/parts/RegisterHoverProvider/RegisterHoverProvider.d.ts +1 -0
  122. package/extension-api/dist/parts/RegisterHoverProvider/RegisterHoverProvider.js +1 -0
  123. package/extension-api/dist/parts/RegisterStatusBarItemProvider/RegisterStatusBarItemProvider.d.ts +1 -0
  124. package/extension-api/dist/parts/RegisterStatusBarItemProvider/RegisterStatusBarItemProvider.js +1 -0
  125. package/extension-api/dist/parts/RegisteredCommand/RegisteredCommand.d.ts +4 -0
  126. package/extension-api/dist/parts/RegisteredCommand/RegisteredCommand.js +1 -0
  127. package/extension-api/dist/parts/RegisteredCompletionProvider/RegisteredCompletionProvider.d.ts +8 -0
  128. package/extension-api/dist/parts/RegisteredCompletionProvider/RegisteredCompletionProvider.js +1 -0
  129. package/extension-api/dist/parts/RegisteredFormattingProvider/RegisteredFormattingProvider.d.ts +7 -0
  130. package/extension-api/dist/parts/RegisteredFormattingProvider/RegisteredFormattingProvider.js +1 -0
  131. package/extension-api/dist/parts/RegisteredHoverProvider/RegisteredHoverProvider.d.ts +7 -0
  132. package/extension-api/dist/parts/RegisteredHoverProvider/RegisteredHoverProvider.js +1 -0
  133. package/extension-api/dist/parts/RegisteredStatusBarItemProvider/RegisteredStatusBarItemProvider.d.ts +5 -0
  134. package/extension-api/dist/parts/RegisteredStatusBarItemProvider/RegisteredStatusBarItemProvider.js +1 -0
  135. package/extension-api/dist/parts/ResetCompletionProviderRegistry/ResetCompletionProviderRegistry.d.ts +1 -0
  136. package/extension-api/dist/parts/ResetCompletionProviderRegistry/ResetCompletionProviderRegistry.js +1 -0
  137. package/extension-api/dist/parts/ResetFormattingProviderRegistry/ResetFormattingProviderRegistry.d.ts +1 -0
  138. package/extension-api/dist/parts/ResetFormattingProviderRegistry/ResetFormattingProviderRegistry.js +1 -0
  139. package/extension-api/dist/parts/ResetHoverProviderRegistry/ResetHoverProviderRegistry.d.ts +1 -0
  140. package/extension-api/dist/parts/ResetHoverProviderRegistry/ResetHoverProviderRegistry.js +1 -0
  141. package/extension-api/dist/parts/ResetStatusBarItemProviderRegistry/ResetStatusBarItemProviderRegistry.d.ts +1 -0
  142. package/extension-api/dist/parts/ResetStatusBarItemProviderRegistry/ResetStatusBarItemProviderRegistry.js +1 -0
  143. package/extension-api/dist/parts/Rpc/Rpc.d.ts +3 -0
  144. package/extension-api/dist/parts/Rpc/Rpc.js +10 -0
  145. package/extension-api/dist/parts/ShowQuickPickOptions/ShowQuickPickOptions.d.ts +5 -0
  146. package/extension-api/dist/parts/ShowQuickPickOptions/ShowQuickPickOptions.js +1 -0
  147. package/extension-api/dist/parts/StatusBar/StatusBar.d.ts +8 -0
  148. package/extension-api/dist/parts/StatusBar/StatusBar.js +3 -0
  149. package/extension-api/dist/parts/StatusBarItem/StatusBarItem.d.ts +7 -0
  150. package/extension-api/dist/parts/StatusBarItem/StatusBarItem.js +1 -0
  151. package/extension-api/dist/parts/StatusBarItemProvider/StatusBarItemProvider.d.ts +5 -0
  152. package/extension-api/dist/parts/StatusBarItemProvider/StatusBarItemProvider.js +1 -0
  153. package/extension-api/dist/parts/StatusBarItemProviderHandle/StatusBarItemProviderHandle.d.ts +4 -0
  154. package/extension-api/dist/parts/StatusBarItemProviderHandle/StatusBarItemProviderHandle.js +1 -0
  155. package/extension-api/dist/parts/StatusBarItemProviderRegistry/StatusBarItemProviderRegistry.d.ts +11 -0
  156. package/extension-api/dist/parts/StatusBarItemProviderRegistry/StatusBarItemProviderRegistry.js +44 -0
  157. package/extension-api/dist/parts/StatusBarItemProviderRegistrySnapshot/StatusBarItemProviderRegistrySnapshot.d.ts +4 -0
  158. package/extension-api/dist/parts/StatusBarItemProviderRegistrySnapshot/StatusBarItemProviderRegistrySnapshot.js +1 -0
  159. package/extension-api/dist/parts/StatusBarItemProviderState/StatusBarItemProviderState.d.ts +1 -0
  160. package/extension-api/dist/parts/StatusBarItemProviderState/StatusBarItemProviderState.js +1 -0
  161. package/extension-api/package.json +32 -0
  162. package/extension-api/tsconfig.tsbuildinfo +1 -0
  163. package/package.json +1 -1
@@ -0,0 +1,3 @@
1
+ export interface CompletionItem {
2
+ readonly [key: string]: unknown;
3
+ }
@@ -0,0 +1,8 @@
1
+ import type { CompletionItem } from '../CompletionItem/CompletionItem.ts';
2
+ import type { TextDocument } from '../CompletionTextDocument/CompletionTextDocument.ts';
3
+ export interface CompletionProvider {
4
+ readonly id: string;
5
+ readonly languageId: string;
6
+ readonly provideCompletions: (textDocument: TextDocument, offset: number, ...args: readonly unknown[]) => readonly CompletionItem[] | Promise<readonly CompletionItem[]>;
7
+ readonly resolveCompletionItem?: (textDocument: TextDocument, offset: number, name: string, completionItem: CompletionItem, ...args: readonly unknown[]) => CompletionItem | undefined | Promise<CompletionItem | undefined>;
8
+ }
@@ -0,0 +1,13 @@
1
+ import type { CompletionItem } from '../CompletionItem/CompletionItem.ts';
2
+ import type { CompletionProvider } from '../CompletionProvider/CompletionProvider.ts';
3
+ import type { CompletionProviderRegistrySnapshot } from '../CompletionProviderRegistrySnapshot/CompletionProviderRegistrySnapshot.ts';
4
+ import type { TextDocument } from '../CompletionTextDocument/CompletionTextDocument.ts';
5
+ import type { Disposable } from '../Disposable/Disposable.ts';
6
+ import type { RegisteredCompletionProvider } from '../RegisteredCompletionProvider/RegisteredCompletionProvider.ts';
7
+ export declare const hasCompletionProvider: (id: string) => boolean;
8
+ export declare const registerCompletionProvider: (provider: CompletionProvider) => Disposable;
9
+ export declare const executeCompletionProvider: (textDocument: TextDocument, offset: number, ...args: readonly unknown[]) => Promise<readonly CompletionItem[]>;
10
+ export declare const executeResolveCompletionItemProvider: (textDocument: TextDocument, offset: number, name: string, completionItem: CompletionItem, ...args: readonly unknown[]) => Promise<CompletionItem | undefined>;
11
+ export declare const getCompletionProviders: () => RegisteredCompletionProvider[];
12
+ export declare const getCompletionProviderRegistrySnapshot: () => CompletionProviderRegistrySnapshot;
13
+ export declare const resetCompletionProviderRegistry: () => void;
@@ -0,0 +1,66 @@
1
+ import { ExtensionApiError } from "../ExtensionApiError/ExtensionApiError.js";
2
+ import { createProviderRegistry } from "../ProviderRegistry/ProviderRegistry.js";
3
+ const getType = (value) => {
4
+ if (value === null) {
5
+ return 'null';
6
+ }
7
+ if (typeof value === 'string') {
8
+ return JSON.stringify(value);
9
+ }
10
+ return typeof value;
11
+ };
12
+ const validateCompletionResult = (completion) => {
13
+ if (!Array.isArray(completion)) {
14
+ throw new ExtensionApiError(`invalid completion result: completion must be of type array but is ${getType(completion)}`);
15
+ }
16
+ for (const item of completion) {
17
+ if (!item || typeof item !== 'object' || Array.isArray(item)) {
18
+ throw new ExtensionApiError(`invalid completion result: expected completion item to be of type object but was of type ${getType(item)}`);
19
+ }
20
+ }
21
+ return completion;
22
+ };
23
+ const registry = createProviderRegistry({
24
+ mapProvider(provider) {
25
+ return {
26
+ id: provider.id,
27
+ languageId: provider.languageId,
28
+ provideCompletions(textDocument, offset, ...args) {
29
+ return provider.provideCompletions(textDocument, offset, ...args);
30
+ },
31
+ resolveCompletionItem: provider.resolveCompletionItem
32
+ ? (textDocument, offset, name, completionItem, ...args) => provider.resolveCompletionItem?.(textDocument, offset, name, completionItem, ...args)
33
+ : undefined,
34
+ };
35
+ },
36
+ optionalMethods: ['resolveCompletionItem'],
37
+ providerName: 'completion provider',
38
+ requiredMethods: ['provideCompletions'],
39
+ requireLanguageId: true,
40
+ });
41
+ export const hasCompletionProvider = registry.hasProvider;
42
+ export const registerCompletionProvider = (provider) => {
43
+ const registeredProvider = registry.registerProvider(provider);
44
+ return {
45
+ dispose() {
46
+ registry.deleteProvider(registeredProvider.id);
47
+ },
48
+ };
49
+ };
50
+ export const executeCompletionProvider = async (textDocument, offset, ...args) => {
51
+ return registry.executeProviderByLanguageId(textDocument.languageId, 'provideCompletions', [textDocument, offset, ...args], validateCompletionResult);
52
+ };
53
+ export const executeResolveCompletionItemProvider = async (textDocument, offset, name, completionItem, ...args) => {
54
+ const provider = registry.getProviderByLanguageId(textDocument.languageId);
55
+ if (!provider) {
56
+ throw new ExtensionApiError(`No completion provider found for ${textDocument.languageId}`);
57
+ }
58
+ return provider.resolveCompletionItem?.(textDocument, offset, name, completionItem, ...args);
59
+ };
60
+ export const getCompletionProviders = registry.getProviders;
61
+ export const getCompletionProviderRegistrySnapshot = () => {
62
+ return {
63
+ providers: registry.getProviders(),
64
+ };
65
+ };
66
+ export const resetCompletionProviderRegistry = registry.reset;
@@ -0,0 +1,4 @@
1
+ import type { RegisteredCompletionProvider } from '../RegisteredCompletionProvider/RegisteredCompletionProvider.ts';
2
+ export interface CompletionProviderRegistrySnapshot {
3
+ readonly providers: readonly RegisteredCompletionProvider[];
4
+ }
@@ -0,0 +1 @@
1
+ export { getCompletionProviders, hasCompletionProvider, resetCompletionProviderRegistry as clearCompletionProviders, } from '../CompletionProviderRegistry/CompletionProviderRegistry.ts';
@@ -0,0 +1 @@
1
+ export { getCompletionProviders, hasCompletionProvider, resetCompletionProviderRegistry as clearCompletionProviders, } from "../CompletionProviderRegistry/CompletionProviderRegistry.js";
@@ -0,0 +1,6 @@
1
+ export interface TextDocument {
2
+ readonly documentId?: number;
3
+ readonly languageId: string;
4
+ readonly text: string;
5
+ readonly uri: string;
6
+ }
@@ -0,0 +1,3 @@
1
+ export interface Disposable {
2
+ dispose(): void;
3
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export declare const executeCommand: (id: string, ...args: readonly unknown[]) => Promise<unknown>;
@@ -0,0 +1,4 @@
1
+ import * as Rpc from "../Rpc/Rpc.js";
2
+ export const executeCommand = async (id, ...args) => {
3
+ return Rpc.invoke('Extensions.executeCommand', id, ...args);
4
+ };
@@ -0,0 +1 @@
1
+ export { executeCompletionProvider, executeResolveCompletionItemProvider } from '../CompletionProviderRegistry/CompletionProviderRegistry.ts';
@@ -0,0 +1 @@
1
+ export { executeCompletionProvider, executeResolveCompletionItemProvider } from "../CompletionProviderRegistry/CompletionProviderRegistry.js";
@@ -0,0 +1 @@
1
+ export { executeFormattingProvider } from '../FormattingProviderRegistry/FormattingProviderRegistry.ts';
@@ -0,0 +1 @@
1
+ export { executeFormattingProvider } from "../FormattingProviderRegistry/FormattingProviderRegistry.js";
@@ -0,0 +1 @@
1
+ export { executeHoverProvider } from '../HoverProviderRegistry/HoverProviderRegistry.ts';
@@ -0,0 +1 @@
1
+ export { executeHoverProvider } from "../HoverProviderRegistry/HoverProviderRegistry.js";
@@ -0,0 +1,12 @@
1
+ export declare const commandMap: {
2
+ 'ExtensionApi.executeCommand': (id: string, ...args: readonly unknown[]) => Promise<unknown>;
3
+ 'ExtensionApi.executeCompletionProvider': (textDocument: import("../CompletionTextDocument/CompletionTextDocument.ts").TextDocument, offset: number, ...args: readonly unknown[]) => Promise<readonly import("../CompletionItem/CompletionItem.ts").CompletionItem[]>;
4
+ 'ExtensionApi.executeFormattingProvider': (textDocument: import("../FormattingTextDocument/FormattingTextDocument.ts").TextDocument, ...args: readonly unknown[]) => Promise<readonly import("../FormattingEdit/FormattingEdit.ts").FormattingEdit[]>;
5
+ 'ExtensionApi.executeHoverProvider': (textDocument: import("../HoverTextDocument/HoverTextDocument.ts").TextDocument, offset: number, ...args: readonly unknown[]) => Promise<import("../HoverResult/HoverResult.ts").HoverResult | undefined>;
6
+ 'ExtensionApi.executeResolveCompletionItemProvider': (textDocument: import("../CompletionTextDocument/CompletionTextDocument.ts").TextDocument, offset: number, name: string, completionItem: import("../CompletionItem/CompletionItem.ts").CompletionItem, ...args: readonly unknown[]) => Promise<import("../CompletionItem/CompletionItem.ts").CompletionItem | undefined>;
7
+ 'ExtensionApi.getCommandRegistrySnapshot': () => import("../CommandRegistrySnapshot/CommandRegistrySnapshot.ts").CommandRegistrySnapshot;
8
+ 'ExtensionApi.getCompletionProviderRegistrySnapshot': () => import("../CompletionProviderRegistrySnapshot/CompletionProviderRegistrySnapshot.ts").CompletionProviderRegistrySnapshot;
9
+ 'ExtensionApi.getFormattingProviderRegistrySnapshot': () => import("../FormattingProviderRegistrySnapshot/FormattingProviderRegistrySnapshot.ts").FormattingProviderRegistrySnapshot;
10
+ 'ExtensionApi.getHoverProviderRegistrySnapshot': () => import("../HoverProviderRegistrySnapshot/HoverProviderRegistrySnapshot.ts").HoverProviderRegistrySnapshot;
11
+ 'ExtensionApi.getStatusBarItems': () => readonly import("../StatusBarItem/StatusBarItem.ts").StatusBarItem[];
12
+ };
@@ -0,0 +1,17 @@
1
+ import { executeCommand, getCommandRegistrySnapshot } from "../CommandRegistry/CommandRegistry.js";
2
+ import { executeCompletionProvider, executeResolveCompletionItemProvider, getCompletionProviderRegistrySnapshot } from "../Completion/Completion.js";
3
+ import { executeFormattingProvider, getFormattingProviderRegistrySnapshot } from "../Formatting/Formatting.js";
4
+ import { getStatusBarItems } from "../GetStatusBarItems/GetStatusBarItems.js";
5
+ import { executeHoverProvider, getHoverProviderRegistrySnapshot } from "../Hover/Hover.js";
6
+ export const commandMap = {
7
+ 'ExtensionApi.executeCommand': executeCommand,
8
+ 'ExtensionApi.executeCompletionProvider': executeCompletionProvider,
9
+ 'ExtensionApi.executeFormattingProvider': executeFormattingProvider,
10
+ 'ExtensionApi.executeHoverProvider': executeHoverProvider,
11
+ 'ExtensionApi.executeResolveCompletionItemProvider': executeResolveCompletionItemProvider,
12
+ 'ExtensionApi.getCommandRegistrySnapshot': getCommandRegistrySnapshot,
13
+ 'ExtensionApi.getCompletionProviderRegistrySnapshot': getCompletionProviderRegistrySnapshot,
14
+ 'ExtensionApi.getFormattingProviderRegistrySnapshot': getFormattingProviderRegistrySnapshot,
15
+ 'ExtensionApi.getHoverProviderRegistrySnapshot': getHoverProviderRegistrySnapshot,
16
+ 'ExtensionApi.getStatusBarItems': getStatusBarItems,
17
+ };
@@ -0,0 +1,3 @@
1
+ export declare class ExtensionApiError extends Error {
2
+ constructor(message: string);
3
+ }
@@ -0,0 +1,6 @@
1
+ export class ExtensionApiError extends Error {
2
+ constructor(message) {
3
+ super(message);
4
+ this.name = 'ExtensionApiError';
5
+ }
6
+ }
@@ -0,0 +1,14 @@
1
+ export declare const commandMap: {
2
+ 'HandleMessagePort.handleExtensionManagementMessagePort': (port: MessagePort) => Promise<void>;
3
+ initialize(type: string, port: MessagePort): Promise<void>;
4
+ 'ExtensionApi.executeCommand': (id: string, ...args: readonly unknown[]) => Promise<unknown>;
5
+ 'ExtensionApi.executeCompletionProvider': (textDocument: import("../CompletionTextDocument/CompletionTextDocument.ts").TextDocument, offset: number, ...args: readonly unknown[]) => Promise<readonly import("../CompletionItem/CompletionItem.ts").CompletionItem[]>;
6
+ 'ExtensionApi.executeFormattingProvider': (textDocument: import("../FormattingTextDocument/FormattingTextDocument.ts").TextDocument, ...args: readonly unknown[]) => Promise<readonly import("../FormattingEdit/FormattingEdit.ts").FormattingEdit[]>;
7
+ 'ExtensionApi.executeHoverProvider': (textDocument: import("../HoverTextDocument/HoverTextDocument.ts").TextDocument, offset: number, ...args: readonly unknown[]) => Promise<import("../HoverResult/HoverResult.ts").HoverResult | undefined>;
8
+ 'ExtensionApi.executeResolveCompletionItemProvider': (textDocument: import("../CompletionTextDocument/CompletionTextDocument.ts").TextDocument, offset: number, name: string, completionItem: import("../CompletionItem/CompletionItem.ts").CompletionItem, ...args: readonly unknown[]) => Promise<import("../CompletionItem/CompletionItem.ts").CompletionItem | undefined>;
9
+ 'ExtensionApi.getCommandRegistrySnapshot': () => import("../CommandRegistrySnapshot/CommandRegistrySnapshot.ts").CommandRegistrySnapshot;
10
+ 'ExtensionApi.getCompletionProviderRegistrySnapshot': () => import("../CompletionProviderRegistrySnapshot/CompletionProviderRegistrySnapshot.ts").CompletionProviderRegistrySnapshot;
11
+ 'ExtensionApi.getFormattingProviderRegistrySnapshot': () => import("../FormattingProviderRegistrySnapshot/FormattingProviderRegistrySnapshot.ts").FormattingProviderRegistrySnapshot;
12
+ 'ExtensionApi.getHoverProviderRegistrySnapshot': () => import("../HoverProviderRegistrySnapshot/HoverProviderRegistrySnapshot.ts").HoverProviderRegistrySnapshot;
13
+ 'ExtensionApi.getStatusBarItems': () => readonly import("../StatusBarItem/StatusBarItem.ts").StatusBarItem[];
14
+ };
@@ -0,0 +1,12 @@
1
+ import { commandMap as extensionApiCommandMap } from "../ExtensionApiCommandMap/ExtensionApiCommandMap.js";
2
+ import { handleExtensionManagementMessagePort } from "../ExtensionApiWorkerHandleMessagePort/ExtensionApiWorkerHandleMessagePort.js";
3
+ export const commandMap = {
4
+ ...extensionApiCommandMap,
5
+ 'HandleMessagePort.handleExtensionManagementMessagePort': handleExtensionManagementMessagePort,
6
+ async initialize(type, port) {
7
+ if (type !== 'message-port') {
8
+ throw new Error(`unsupported initialize type ${type}`);
9
+ }
10
+ await handleExtensionManagementMessagePort(port);
11
+ },
12
+ };
@@ -0,0 +1 @@
1
+ export declare const handleExtensionManagementMessagePort: (port: MessagePort) => Promise<void>;
@@ -0,0 +1,18 @@
1
+ import { PlainMessagePortRpc } from '@lvce-editor/rpc';
2
+ import * as ExtensionApiCommandMap from "../ExtensionApiCommandMap/ExtensionApiCommandMap.js";
3
+ const commandMap = {
4
+ ...ExtensionApiCommandMap.commandMap,
5
+ async initialize(type, port) {
6
+ if (type !== 'message-port') {
7
+ throw new Error(`unsupported initialize type ${type}`);
8
+ }
9
+ await handleExtensionManagementMessagePort(port);
10
+ },
11
+ };
12
+ export const handleExtensionManagementMessagePort = async (port) => {
13
+ await PlainMessagePortRpc.create({
14
+ commandMap,
15
+ isMessagePortOpen: true,
16
+ messagePort: port,
17
+ });
18
+ };
@@ -0,0 +1,2 @@
1
+ import { type Rpc } from '@lvce-editor/rpc';
2
+ export declare const listen: () => Promise<Rpc>;
@@ -0,0 +1,8 @@
1
+ import { WebWorkerRpcClient } from '@lvce-editor/rpc';
2
+ import * as ExtensionApiWorkerCommandMap from "../ExtensionApiWorkerCommandMap/ExtensionApiWorkerCommandMap.js";
3
+ export const listen = async () => {
4
+ const rpc = WebWorkerRpcClient.create({
5
+ commandMap: ExtensionApiWorkerCommandMap.commandMap,
6
+ });
7
+ return rpc;
8
+ };
@@ -0,0 +1,9 @@
1
+ export { executeFormattingProvider } from '../ExecuteFormattingProvider/ExecuteFormattingProvider.ts';
2
+ export { getFormattingProviderRegistrySnapshot } from '../GetFormattingProviderRegistrySnapshot/GetFormattingProviderRegistrySnapshot.ts';
3
+ export { registerFormattingProvider } from '../RegisterFormattingProvider/RegisterFormattingProvider.ts';
4
+ export { resetFormattingProviderRegistry } from '../ResetFormattingProviderRegistry/ResetFormattingProviderRegistry.ts';
5
+ export type { FormattingEdit } from '../FormattingEdit/FormattingEdit.ts';
6
+ export type { FormattingProvider } from '../FormattingProvider/FormattingProvider.ts';
7
+ export type { FormattingProviderRegistrySnapshot } from '../FormattingProviderRegistrySnapshot/FormattingProviderRegistrySnapshot.ts';
8
+ export type { TextDocument } from '../FormattingTextDocument/FormattingTextDocument.ts';
9
+ export type { RegisteredFormattingProvider } from '../RegisteredFormattingProvider/RegisteredFormattingProvider.ts';
@@ -0,0 +1,4 @@
1
+ export { executeFormattingProvider } from "../ExecuteFormattingProvider/ExecuteFormattingProvider.js";
2
+ export { getFormattingProviderRegistrySnapshot } from "../GetFormattingProviderRegistrySnapshot/GetFormattingProviderRegistrySnapshot.js";
3
+ export { registerFormattingProvider } from "../RegisterFormattingProvider/RegisterFormattingProvider.js";
4
+ export { resetFormattingProviderRegistry } from "../ResetFormattingProviderRegistry/ResetFormattingProviderRegistry.js";
@@ -0,0 +1,5 @@
1
+ export interface FormattingEdit {
2
+ readonly endOffset: number;
3
+ readonly inserted: string;
4
+ readonly startOffset: number;
5
+ }
@@ -0,0 +1,7 @@
1
+ import type { FormattingEdit } from '../FormattingEdit/FormattingEdit.ts';
2
+ import type { TextDocument } from '../FormattingTextDocument/FormattingTextDocument.ts';
3
+ export interface FormattingProvider {
4
+ readonly format: (textDocument: TextDocument, ...args: readonly unknown[]) => readonly FormattingEdit[] | Promise<readonly FormattingEdit[]>;
5
+ readonly id: string;
6
+ readonly languageId: string;
7
+ }
@@ -0,0 +1,12 @@
1
+ import type { Disposable } from '../Disposable/Disposable.ts';
2
+ import type { FormattingEdit } from '../FormattingEdit/FormattingEdit.ts';
3
+ import type { FormattingProvider } from '../FormattingProvider/FormattingProvider.ts';
4
+ import type { FormattingProviderRegistrySnapshot } from '../FormattingProviderRegistrySnapshot/FormattingProviderRegistrySnapshot.ts';
5
+ import type { TextDocument } from '../FormattingTextDocument/FormattingTextDocument.ts';
6
+ import type { RegisteredFormattingProvider } from '../RegisteredFormattingProvider/RegisteredFormattingProvider.ts';
7
+ export declare const hasFormattingProvider: (id: string) => boolean;
8
+ export declare const registerFormattingProvider: (provider: FormattingProvider) => Disposable;
9
+ export declare const executeFormattingProvider: (textDocument: TextDocument, ...args: readonly unknown[]) => Promise<readonly FormattingEdit[]>;
10
+ export declare const getFormattingProviders: () => RegisteredFormattingProvider[];
11
+ export declare const getFormattingProviderRegistrySnapshot: () => FormattingProviderRegistrySnapshot;
12
+ export declare const resetFormattingProviderRegistry: () => void;
@@ -0,0 +1,34 @@
1
+ import { createProviderRegistry } from "../ProviderRegistry/ProviderRegistry.js";
2
+ const registry = createProviderRegistry({
3
+ mapProvider(provider) {
4
+ return {
5
+ format(textDocument, ...args) {
6
+ return provider.format(textDocument, ...args);
7
+ },
8
+ id: provider.id,
9
+ languageId: provider.languageId,
10
+ };
11
+ },
12
+ providerName: 'formatting provider',
13
+ requiredMethods: ['format'],
14
+ requireLanguageId: true,
15
+ });
16
+ export const hasFormattingProvider = registry.hasProvider;
17
+ export const registerFormattingProvider = (provider) => {
18
+ const registeredProvider = registry.registerProvider(provider);
19
+ return {
20
+ dispose() {
21
+ registry.deleteProvider(registeredProvider.id);
22
+ },
23
+ };
24
+ };
25
+ export const executeFormattingProvider = async (textDocument, ...args) => {
26
+ return registry.executeProviderByLanguageId(textDocument.languageId, 'format', [textDocument, ...args]);
27
+ };
28
+ export const getFormattingProviders = registry.getProviders;
29
+ export const getFormattingProviderRegistrySnapshot = () => {
30
+ return {
31
+ providers: registry.getProviders(),
32
+ };
33
+ };
34
+ export const resetFormattingProviderRegistry = registry.reset;
@@ -0,0 +1,4 @@
1
+ import type { RegisteredFormattingProvider } from '../RegisteredFormattingProvider/RegisteredFormattingProvider.ts';
2
+ export interface FormattingProviderRegistrySnapshot {
3
+ readonly providers: readonly RegisteredFormattingProvider[];
4
+ }
@@ -0,0 +1 @@
1
+ export { getFormattingProviders, hasFormattingProvider, resetFormattingProviderRegistry as clearFormattingProviders, } from '../FormattingProviderRegistry/FormattingProviderRegistry.ts';
@@ -0,0 +1 @@
1
+ export { getFormattingProviders, hasFormattingProvider, resetFormattingProviderRegistry as clearFormattingProviders, } from "../FormattingProviderRegistry/FormattingProviderRegistry.js";
@@ -0,0 +1,6 @@
1
+ export interface TextDocument {
2
+ readonly documentId: number;
3
+ readonly languageId: string;
4
+ readonly text: string;
5
+ readonly uri: string;
6
+ }
@@ -0,0 +1 @@
1
+ export { getCompletionProviderRegistrySnapshot } from '../CompletionProviderRegistry/CompletionProviderRegistry.ts';
@@ -0,0 +1 @@
1
+ export { getCompletionProviderRegistrySnapshot } from "../CompletionProviderRegistry/CompletionProviderRegistry.js";
@@ -0,0 +1 @@
1
+ export { getFormattingProviderRegistrySnapshot } from '../FormattingProviderRegistry/FormattingProviderRegistry.ts';
@@ -0,0 +1 @@
1
+ export { getFormattingProviderRegistrySnapshot } from "../FormattingProviderRegistry/FormattingProviderRegistry.js";
@@ -0,0 +1 @@
1
+ export { getHoverProviderRegistrySnapshot } from '../HoverProviderRegistry/HoverProviderRegistry.ts';
@@ -0,0 +1 @@
1
+ export { getHoverProviderRegistrySnapshot } from "../HoverProviderRegistry/HoverProviderRegistry.js";
@@ -0,0 +1 @@
1
+ export { getStatusBarItemProviderRegistrySnapshot } from '../StatusBarItemProviderRegistry/StatusBarItemProviderRegistry.ts';
@@ -0,0 +1 @@
1
+ export { getStatusBarItemProviderRegistrySnapshot } from "../StatusBarItemProviderRegistry/StatusBarItemProviderRegistry.js";
@@ -0,0 +1 @@
1
+ export { getStatusBarItems } from '../StatusBarItemProviderRegistry/StatusBarItemProviderRegistry.ts';
@@ -0,0 +1 @@
1
+ export { getStatusBarItems } from "../StatusBarItemProviderRegistry/StatusBarItemProviderRegistry.js";
@@ -0,0 +1,9 @@
1
+ export interface HandleExtensionManagementMessagePortOptions {
2
+ readonly commandMap: Record<string, unknown>;
3
+ readonly createMessagePortRpcClient: (options: {
4
+ readonly commandMap: Record<string, unknown>;
5
+ readonly messagePort: MessagePort;
6
+ }) => Promise<unknown>;
7
+ readonly port: MessagePort;
8
+ }
9
+ export declare const handleExtensionManagementMessagePort: ({ commandMap, createMessagePortRpcClient, port, }: HandleExtensionManagementMessagePortOptions) => Promise<void>;
@@ -0,0 +1,10 @@
1
+ import { commandMap as extensionApiCommandMap } from "../CommandMap/CommandMap.js";
2
+ export const handleExtensionManagementMessagePort = async ({ commandMap, createMessagePortRpcClient, port, }) => {
3
+ await createMessagePortRpcClient({
4
+ commandMap: {
5
+ ...extensionApiCommandMap,
6
+ ...commandMap,
7
+ },
8
+ messagePort: port,
9
+ });
10
+ };
@@ -0,0 +1,9 @@
1
+ export { executeHoverProvider } from '../ExecuteHoverProvider/ExecuteHoverProvider.ts';
2
+ export { getHoverProviderRegistrySnapshot } from '../GetHoverProviderRegistrySnapshot/GetHoverProviderRegistrySnapshot.ts';
3
+ export { registerHoverProvider } from '../RegisterHoverProvider/RegisterHoverProvider.ts';
4
+ export { resetHoverProviderRegistry } from '../ResetHoverProviderRegistry/ResetHoverProviderRegistry.ts';
5
+ export type { HoverProvider } from '../HoverProvider/HoverProvider.ts';
6
+ export type { HoverProviderRegistrySnapshot } from '../HoverProviderRegistrySnapshot/HoverProviderRegistrySnapshot.ts';
7
+ export type { HoverResult } from '../HoverResult/HoverResult.ts';
8
+ export type { TextDocument } from '../HoverTextDocument/HoverTextDocument.ts';
9
+ export type { RegisteredHoverProvider } from '../RegisteredHoverProvider/RegisteredHoverProvider.ts';
@@ -0,0 +1,4 @@
1
+ export { executeHoverProvider } from "../ExecuteHoverProvider/ExecuteHoverProvider.js";
2
+ export { getHoverProviderRegistrySnapshot } from "../GetHoverProviderRegistrySnapshot/GetHoverProviderRegistrySnapshot.js";
3
+ export { registerHoverProvider } from "../RegisterHoverProvider/RegisterHoverProvider.js";
4
+ export { resetHoverProviderRegistry } from "../ResetHoverProviderRegistry/ResetHoverProviderRegistry.js";
@@ -0,0 +1,7 @@
1
+ import type { HoverResult } from '../HoverResult/HoverResult.ts';
2
+ import type { TextDocument } from '../HoverTextDocument/HoverTextDocument.ts';
3
+ export interface HoverProvider {
4
+ readonly id: string;
5
+ readonly languageId: string;
6
+ readonly provideHover: (textDocument: TextDocument, offset: number, ...args: readonly unknown[]) => HoverResult | undefined | Promise<HoverResult | undefined>;
7
+ }
@@ -0,0 +1,12 @@
1
+ import type { Disposable } from '../Disposable/Disposable.ts';
2
+ import type { HoverProvider } from '../HoverProvider/HoverProvider.ts';
3
+ import type { HoverProviderRegistrySnapshot } from '../HoverProviderRegistrySnapshot/HoverProviderRegistrySnapshot.ts';
4
+ import type { HoverResult } from '../HoverResult/HoverResult.ts';
5
+ import type { TextDocument } from '../HoverTextDocument/HoverTextDocument.ts';
6
+ import type { RegisteredHoverProvider } from '../RegisteredHoverProvider/RegisteredHoverProvider.ts';
7
+ export declare const hasHoverProvider: (id: string) => boolean;
8
+ export declare const registerHoverProvider: (provider: HoverProvider) => Disposable;
9
+ export declare const executeHoverProvider: (textDocument: TextDocument, offset: number, ...args: readonly unknown[]) => Promise<HoverResult | undefined>;
10
+ export declare const getHoverProviders: () => RegisteredHoverProvider[];
11
+ export declare const getHoverProviderRegistrySnapshot: () => HoverProviderRegistrySnapshot;
12
+ export declare const resetHoverProviderRegistry: () => void;
@@ -0,0 +1,56 @@
1
+ import { ExtensionApiError } from "../ExtensionApiError/ExtensionApiError.js";
2
+ import { createProviderRegistry } from "../ProviderRegistry/ProviderRegistry.js";
3
+ const getType = (value) => {
4
+ if (value === null) {
5
+ return 'null';
6
+ }
7
+ if (typeof value === 'string') {
8
+ return JSON.stringify(value);
9
+ }
10
+ if (Array.isArray(value)) {
11
+ return 'array';
12
+ }
13
+ return typeof value;
14
+ };
15
+ const validateHoverResult = (hover) => {
16
+ if (hover === undefined) {
17
+ return undefined;
18
+ }
19
+ if (!hover || typeof hover !== 'object' || Array.isArray(hover)) {
20
+ throw new ExtensionApiError(`invalid hover result: hover must be of type object or undefined but is ${getType(hover)}`);
21
+ }
22
+ return hover;
23
+ };
24
+ const registry = createProviderRegistry({
25
+ mapProvider(provider) {
26
+ return {
27
+ id: provider.id,
28
+ languageId: provider.languageId,
29
+ provideHover(textDocument, offset, ...args) {
30
+ return provider.provideHover(textDocument, offset, ...args);
31
+ },
32
+ };
33
+ },
34
+ providerName: 'hover provider',
35
+ requiredMethods: ['provideHover'],
36
+ requireLanguageId: true,
37
+ });
38
+ export const hasHoverProvider = registry.hasProvider;
39
+ export const registerHoverProvider = (provider) => {
40
+ const registeredProvider = registry.registerProvider(provider);
41
+ return {
42
+ dispose() {
43
+ registry.deleteProvider(registeredProvider.id);
44
+ },
45
+ };
46
+ };
47
+ export const executeHoverProvider = async (textDocument, offset, ...args) => {
48
+ return registry.executeProviderByLanguageId(textDocument.languageId, 'provideHover', [textDocument, offset, ...args], validateHoverResult);
49
+ };
50
+ export const getHoverProviders = registry.getProviders;
51
+ export const getHoverProviderRegistrySnapshot = () => {
52
+ return {
53
+ providers: registry.getProviders(),
54
+ };
55
+ };
56
+ export const resetHoverProviderRegistry = registry.reset;
@@ -0,0 +1,4 @@
1
+ import type { RegisteredHoverProvider } from '../RegisteredHoverProvider/RegisteredHoverProvider.ts';
2
+ export interface HoverProviderRegistrySnapshot {
3
+ readonly providers: readonly RegisteredHoverProvider[];
4
+ }
@@ -0,0 +1,6 @@
1
+ export interface HoverResult {
2
+ readonly displayString?: string;
3
+ readonly displayStringLanguageId?: string;
4
+ readonly documentation?: string;
5
+ readonly text?: string;
6
+ }
@@ -0,0 +1,6 @@
1
+ export interface TextDocument {
2
+ readonly documentId?: number;
3
+ readonly languageId: string;
4
+ readonly text: string;
5
+ readonly uri: string;
6
+ }
@@ -0,0 +1 @@
1
+ export declare const notifyStatusBarChange: (id: string) => Promise<void>;
@@ -0,0 +1,4 @@
1
+ import * as Rpc from "../Rpc/Rpc.js";
2
+ export const notifyStatusBarChange = async (id) => {
3
+ await Rpc.invoke('StatusBar.handleChange', id);
4
+ };