@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,21 @@
1
+ interface ProviderWithId {
2
+ readonly id: string;
3
+ }
4
+ interface ProviderRegistryOptions<TProvider, TRegisteredProvider extends ProviderWithId> {
5
+ readonly mapProvider: (provider: TProvider) => TRegisteredProvider;
6
+ readonly optionalMethods?: readonly string[];
7
+ readonly providerName: string;
8
+ readonly requiredMethods: readonly string[];
9
+ readonly requireLanguageId?: boolean;
10
+ }
11
+ export interface ProviderRegistry<TProvider, TRegisteredProvider extends ProviderWithId> {
12
+ readonly deleteProvider: (id: string) => void;
13
+ readonly executeProviderByLanguageId: <TResult>(languageId: string, methodName: keyof TRegisteredProvider & string, args: readonly unknown[], validateResult?: (result: unknown) => TResult) => Promise<TResult>;
14
+ readonly getProviderByLanguageId: (languageId: string) => TRegisteredProvider | undefined;
15
+ readonly getProviders: () => TRegisteredProvider[];
16
+ readonly hasProvider: (id: string) => boolean;
17
+ readonly registerProvider: (provider: TProvider) => TRegisteredProvider;
18
+ readonly reset: () => void;
19
+ }
20
+ export declare const createProviderRegistry: <TProvider, TRegisteredProvider extends ProviderWithId>({ mapProvider, optionalMethods, providerName, requiredMethods, requireLanguageId, }: ProviderRegistryOptions<TProvider, TRegisteredProvider>) => ProviderRegistry<TProvider, TRegisteredProvider>;
21
+ export {};
@@ -0,0 +1,86 @@
1
+ import { ExtensionApiError } from "../ExtensionApiError/ExtensionApiError.js";
2
+ const getProviderMethod = (provider, methodName) => {
3
+ const method = provider[methodName];
4
+ if (typeof method !== 'function') {
5
+ return undefined;
6
+ }
7
+ return method;
8
+ };
9
+ const assertProviderMethod = (provider, providerName, providerId, methodName) => {
10
+ if (typeof provider[methodName] !== 'function') {
11
+ throw new ExtensionApiError(`${providerName} ${providerId} is missing ${methodName} function`);
12
+ }
13
+ };
14
+ const assertOptionalProviderMethod = (provider, providerName, providerId, methodName) => {
15
+ if (provider[methodName] !== undefined && typeof provider[methodName] !== 'function') {
16
+ throw new ExtensionApiError(`${providerName} ${providerId} has invalid ${methodName} function`);
17
+ }
18
+ };
19
+ export const createProviderRegistry = ({ mapProvider, optionalMethods = [], providerName, requiredMethods, requireLanguageId = false, }) => {
20
+ const providers = Object.create(null);
21
+ const hasProvider = (id) => {
22
+ return id in providers;
23
+ };
24
+ const registerProvider = (provider) => {
25
+ if (!provider) {
26
+ throw new ExtensionApiError(`${providerName} is not defined`);
27
+ }
28
+ const providerRecord = provider;
29
+ const { id } = providerRecord;
30
+ if (typeof id !== 'string' || id.length === 0) {
31
+ throw new ExtensionApiError(`${providerName} is missing id`);
32
+ }
33
+ if (requireLanguageId && (typeof providerRecord.languageId !== 'string' || providerRecord.languageId.length === 0)) {
34
+ throw new ExtensionApiError(`${providerName} ${id} is missing languageId`);
35
+ }
36
+ for (const methodName of requiredMethods) {
37
+ assertProviderMethod(providerRecord, providerName, id, methodName);
38
+ }
39
+ for (const methodName of optionalMethods) {
40
+ assertOptionalProviderMethod(providerRecord, providerName, id, methodName);
41
+ }
42
+ if (hasProvider(id)) {
43
+ throw new ExtensionApiError(`${providerName} ${id} is already registered`);
44
+ }
45
+ const registeredProvider = mapProvider(provider);
46
+ providers[registeredProvider.id] = registeredProvider;
47
+ return registeredProvider;
48
+ };
49
+ const deleteProvider = (id) => {
50
+ delete providers[id];
51
+ };
52
+ const getProviders = () => {
53
+ return Object.values(providers);
54
+ };
55
+ const getProviderByLanguageId = (languageId) => {
56
+ return getProviders().find((provider) => {
57
+ return 'languageId' in provider && provider.languageId === languageId;
58
+ });
59
+ };
60
+ const reset = () => {
61
+ for (const id of Object.keys(providers)) {
62
+ delete providers[id];
63
+ }
64
+ };
65
+ const executeProviderByLanguageId = async (languageId, methodName, args, validateResult) => {
66
+ const provider = getProviderByLanguageId(languageId);
67
+ if (!provider) {
68
+ throw new ExtensionApiError(`No ${providerName} found for ${languageId}`);
69
+ }
70
+ const method = getProviderMethod(provider, methodName);
71
+ if (!method) {
72
+ throw new ExtensionApiError(`${providerName} ${provider.id} is missing ${methodName} function`);
73
+ }
74
+ const result = await method(...args);
75
+ return validateResult ? validateResult(result) : result;
76
+ };
77
+ return {
78
+ deleteProvider,
79
+ executeProviderByLanguageId,
80
+ getProviderByLanguageId,
81
+ getProviders,
82
+ hasProvider,
83
+ registerProvider,
84
+ reset,
85
+ };
86
+ };
@@ -0,0 +1,2 @@
1
+ import type { ShowQuickPickOptions } from '../ShowQuickPickOptions/ShowQuickPickOptions.ts';
2
+ export declare const showQuickPick: (options: ShowQuickPickOptions) => Promise<unknown>;
@@ -0,0 +1,4 @@
1
+ import * as Rpc from "../Rpc/Rpc.js";
2
+ export const showQuickPick = async (options) => {
3
+ return Rpc.invoke('ExtensionHostQuickPick.showQuickPick', options);
4
+ };
@@ -0,0 +1,5 @@
1
+ export interface QuickPickItem {
2
+ readonly description: string;
3
+ readonly label: string;
4
+ readonly value: unknown;
5
+ }
@@ -0,0 +1 @@
1
+ export { registerCompletionProvider } from '../CompletionProviderRegistry/CompletionProviderRegistry.ts';
@@ -0,0 +1 @@
1
+ export { registerCompletionProvider } from "../CompletionProviderRegistry/CompletionProviderRegistry.js";
@@ -0,0 +1 @@
1
+ export { registerFormattingProvider } from '../FormattingProviderRegistry/FormattingProviderRegistry.ts';
@@ -0,0 +1 @@
1
+ export { registerFormattingProvider } from "../FormattingProviderRegistry/FormattingProviderRegistry.js";
@@ -0,0 +1 @@
1
+ export { registerHoverProvider } from '../HoverProviderRegistry/HoverProviderRegistry.ts';
@@ -0,0 +1 @@
1
+ export { registerHoverProvider } from "../HoverProviderRegistry/HoverProviderRegistry.js";
@@ -0,0 +1 @@
1
+ export { registerStatusBarItemProvider } from '../StatusBarItemProviderRegistry/StatusBarItemProviderRegistry.ts';
@@ -0,0 +1 @@
1
+ export { registerStatusBarItemProvider } from "../StatusBarItemProviderRegistry/StatusBarItemProviderRegistry.js";
@@ -0,0 +1,4 @@
1
+ export interface RegisteredCommand {
2
+ execute(...args: readonly unknown[]): unknown | Promise<unknown>;
3
+ readonly id: string;
4
+ }
@@ -0,0 +1,8 @@
1
+ import type { CompletionItem } from '../CompletionItem/CompletionItem.ts';
2
+ import type { TextDocument } from '../CompletionTextDocument/CompletionTextDocument.ts';
3
+ export interface RegisteredCompletionProvider {
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,7 @@
1
+ import type { FormattingEdit } from '../FormattingEdit/FormattingEdit.ts';
2
+ import type { TextDocument } from '../FormattingTextDocument/FormattingTextDocument.ts';
3
+ export interface RegisteredFormattingProvider {
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,7 @@
1
+ import type { HoverResult } from '../HoverResult/HoverResult.ts';
2
+ import type { TextDocument } from '../HoverTextDocument/HoverTextDocument.ts';
3
+ export interface RegisteredHoverProvider {
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,5 @@
1
+ import type { StatusBarItem } from '../StatusBarItem/StatusBarItem.ts';
2
+ export interface RegisteredStatusBarItemProvider {
3
+ readonly getStatusBarItem: () => StatusBarItem | undefined;
4
+ readonly id: string;
5
+ }
@@ -0,0 +1 @@
1
+ export { resetCompletionProviderRegistry } from '../CompletionProviderRegistry/CompletionProviderRegistry.ts';
@@ -0,0 +1 @@
1
+ export { resetCompletionProviderRegistry } from "../CompletionProviderRegistry/CompletionProviderRegistry.js";
@@ -0,0 +1 @@
1
+ export { resetFormattingProviderRegistry } from '../FormattingProviderRegistry/FormattingProviderRegistry.ts';
@@ -0,0 +1 @@
1
+ export { resetFormattingProviderRegistry } from "../FormattingProviderRegistry/FormattingProviderRegistry.js";
@@ -0,0 +1 @@
1
+ export { resetHoverProviderRegistry } from '../HoverProviderRegistry/HoverProviderRegistry.ts';
@@ -0,0 +1 @@
1
+ export { resetHoverProviderRegistry } from "../HoverProviderRegistry/HoverProviderRegistry.js";
@@ -0,0 +1 @@
1
+ export { resetStatusBarItemProviderRegistry } from '../StatusBarItemProviderRegistry/StatusBarItemProviderRegistry.ts';
@@ -0,0 +1 @@
1
+ export { resetStatusBarItemProviderRegistry } from "../StatusBarItemProviderRegistry/StatusBarItemProviderRegistry.js";
@@ -0,0 +1,3 @@
1
+ import type { Rpc } from '@lvce-editor/rpc';
2
+ export declare const set: (value: Rpc) => void;
3
+ export declare const invoke: (method: string, ...params: readonly any[]) => Promise<any>;
@@ -0,0 +1,10 @@
1
+ let rpc;
2
+ export const set = (value) => {
3
+ rpc = value;
4
+ };
5
+ export const invoke = async (method, ...params) => {
6
+ if (!rpc) {
7
+ return undefined;
8
+ }
9
+ return rpc.invoke(method, ...params);
10
+ };
@@ -0,0 +1,5 @@
1
+ import type { QuickPickItem } from '../QuickPickItem/QuickPickItem.ts';
2
+ export interface ShowQuickPickOptions {
3
+ readonly items: readonly QuickPickItem[];
4
+ readonly placeholder?: string;
5
+ }
@@ -0,0 +1,8 @@
1
+ export { getStatusBarItemProviderRegistrySnapshot } from '../GetStatusBarItemProviderRegistrySnapshot/GetStatusBarItemProviderRegistrySnapshot.ts';
2
+ export { registerStatusBarItemProvider } from '../RegisterStatusBarItemProvider/RegisterStatusBarItemProvider.ts';
3
+ export { resetStatusBarItemProviderRegistry } from '../ResetStatusBarItemProviderRegistry/ResetStatusBarItemProviderRegistry.ts';
4
+ export type { RegisteredStatusBarItemProvider } from '../RegisteredStatusBarItemProvider/RegisteredStatusBarItemProvider.ts';
5
+ export type { StatusBarItem } from '../StatusBarItem/StatusBarItem.ts';
6
+ export type { StatusBarItemProvider } from '../StatusBarItemProvider/StatusBarItemProvider.ts';
7
+ export type { StatusBarItemProviderHandle } from '../StatusBarItemProviderHandle/StatusBarItemProviderHandle.ts';
8
+ export type { StatusBarItemProviderRegistrySnapshot } from '../StatusBarItemProviderRegistrySnapshot/StatusBarItemProviderRegistrySnapshot.ts';
@@ -0,0 +1,3 @@
1
+ export { getStatusBarItemProviderRegistrySnapshot } from "../GetStatusBarItemProviderRegistrySnapshot/GetStatusBarItemProviderRegistrySnapshot.js";
2
+ export { registerStatusBarItemProvider } from "../RegisterStatusBarItemProvider/RegisterStatusBarItemProvider.js";
3
+ export { resetStatusBarItemProviderRegistry } from "../ResetStatusBarItemProviderRegistry/ResetStatusBarItemProviderRegistry.js";
@@ -0,0 +1,7 @@
1
+ export interface StatusBarItem {
2
+ readonly icon?: string;
3
+ readonly name?: string;
4
+ readonly onClick?: string;
5
+ readonly text?: string;
6
+ readonly title?: string;
7
+ }
@@ -0,0 +1,5 @@
1
+ import type { StatusBarItem } from '../StatusBarItem/StatusBarItem.ts';
2
+ export interface StatusBarItemProvider {
3
+ readonly getStatusBarItem: () => StatusBarItem | undefined;
4
+ readonly id: string;
5
+ }
@@ -0,0 +1,4 @@
1
+ import type { Disposable } from '../Disposable/Disposable.ts';
2
+ export interface StatusBarItemProviderHandle extends Disposable {
3
+ readonly refresh: () => Promise<void>;
4
+ }
@@ -0,0 +1,11 @@
1
+ import type { RegisteredStatusBarItemProvider } from '../RegisteredStatusBarItemProvider/RegisteredStatusBarItemProvider.ts';
2
+ import type { StatusBarItem } from '../StatusBarItem/StatusBarItem.ts';
3
+ import type { StatusBarItemProvider } from '../StatusBarItemProvider/StatusBarItemProvider.ts';
4
+ import type { StatusBarItemProviderHandle } from '../StatusBarItemProviderHandle/StatusBarItemProviderHandle.ts';
5
+ import type { StatusBarItemProviderRegistrySnapshot } from '../StatusBarItemProviderRegistrySnapshot/StatusBarItemProviderRegistrySnapshot.ts';
6
+ export declare const hasStatusBarItemProvider: (id: string) => boolean;
7
+ export declare const registerStatusBarItemProvider: (provider: StatusBarItemProvider) => StatusBarItemProviderHandle;
8
+ export declare const getStatusBarItemProviders: () => RegisteredStatusBarItemProvider[];
9
+ export declare const getStatusBarItems: () => readonly StatusBarItem[];
10
+ export declare const getStatusBarItemProviderRegistrySnapshot: () => StatusBarItemProviderRegistrySnapshot;
11
+ export declare const resetStatusBarItemProviderRegistry: () => void;
@@ -0,0 +1,44 @@
1
+ import * as NotifyStatusBarChange from "../NotifyStatusBarChange/NotifyStatusBarChange.js";
2
+ import { createProviderRegistry } from "../ProviderRegistry/ProviderRegistry.js";
3
+ const registry = createProviderRegistry({
4
+ mapProvider(provider) {
5
+ return {
6
+ getStatusBarItem() {
7
+ return provider.getStatusBarItem();
8
+ },
9
+ id: provider.id,
10
+ };
11
+ },
12
+ providerName: 'status bar item provider',
13
+ requiredMethods: ['getStatusBarItem'],
14
+ });
15
+ const getStatusBarItem = (provider) => {
16
+ return provider.getStatusBarItem();
17
+ };
18
+ const isStatusBarItem = (item) => {
19
+ return item !== undefined;
20
+ };
21
+ export const hasStatusBarItemProvider = registry.hasProvider;
22
+ export const registerStatusBarItemProvider = (provider) => {
23
+ const registeredProvider = registry.registerProvider(provider);
24
+ void NotifyStatusBarChange.notifyStatusBarChange(registeredProvider.id);
25
+ return {
26
+ dispose() {
27
+ registry.deleteProvider(registeredProvider.id);
28
+ void NotifyStatusBarChange.notifyStatusBarChange(registeredProvider.id);
29
+ },
30
+ async refresh() {
31
+ await NotifyStatusBarChange.notifyStatusBarChange(registeredProvider.id);
32
+ },
33
+ };
34
+ };
35
+ export const getStatusBarItemProviders = registry.getProviders;
36
+ export const getStatusBarItems = () => {
37
+ return registry.getProviders().map(getStatusBarItem).filter(isStatusBarItem);
38
+ };
39
+ export const getStatusBarItemProviderRegistrySnapshot = () => {
40
+ return {
41
+ providers: registry.getProviders(),
42
+ };
43
+ };
44
+ export const resetStatusBarItemProviderRegistry = registry.reset;
@@ -0,0 +1,4 @@
1
+ import type { RegisteredStatusBarItemProvider } from '../RegisteredStatusBarItemProvider/RegisteredStatusBarItemProvider.ts';
2
+ export interface StatusBarItemProviderRegistrySnapshot {
3
+ readonly providers: readonly RegisteredStatusBarItemProvider[];
4
+ }
@@ -0,0 +1 @@
1
+ export { getStatusBarItemProviders, hasStatusBarItemProvider, resetStatusBarItemProviderRegistry as clearStatusBarItemProviders, } from '../StatusBarItemProviderRegistry/StatusBarItemProviderRegistry.ts';
@@ -0,0 +1 @@
1
+ export { getStatusBarItemProviders, hasStatusBarItemProvider, resetStatusBarItemProviderRegistry as clearStatusBarItemProviders, } from "../StatusBarItemProviderRegistry/StatusBarItemProviderRegistry.js";
@@ -0,0 +1,32 @@
1
+ {
2
+ "name": "@lvce-editor/api",
3
+ "version": "8.18.0",
4
+ "description": "Tree-shakeable extension API for Lvce Editor extensions.",
5
+ "keywords": [
6
+ "lvce-editor",
7
+ "extension-api"
8
+ ],
9
+ "repository": {
10
+ "type": "git",
11
+ "url": "git+https://github.com/lvce-editor/extension-host-worker.git",
12
+ "directory": "packages/extension-api"
13
+ },
14
+ "license": "MIT",
15
+ "author": "Lvce Editor",
16
+ "type": "module",
17
+ "main": "dist/index.js",
18
+ "types": "dist/index.d.ts",
19
+ "exports": {
20
+ ".": {
21
+ "types": "./dist/index.d.ts",
22
+ "default": "./dist/index.js"
23
+ }
24
+ },
25
+ "files": [
26
+ "dist"
27
+ ],
28
+ "sideEffects": false,
29
+ "dependencies": {
30
+ "@lvce-editor/rpc": "^6.4.0"
31
+ }
32
+ }