@lvce-editor/api 8.72.0 → 8.74.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 (33) hide show
  1. package/dist/index.d.ts +2 -0
  2. package/dist/index.js +1 -0
  3. package/dist/parts/CommandMap/CommandMap.d.ts +2 -0
  4. package/dist/parts/ExecuteSignatureHelpProvider/ExecuteSignatureHelpProvider.d.ts +1 -0
  5. package/dist/parts/ExecuteSignatureHelpProvider/ExecuteSignatureHelpProvider.js +1 -0
  6. package/dist/parts/ExtensionApiCommandMap/ExtensionApiCommandMap.d.ts +2 -0
  7. package/dist/parts/ExtensionApiCommandMap/ExtensionApiCommandMap.js +3 -0
  8. package/dist/parts/ExtensionApiWorkerCommandMap/ExtensionApiWorkerCommandMap.d.ts +2 -0
  9. package/dist/parts/GetSignatureHelpProviderRegistrySnapshot/GetSignatureHelpProviderRegistrySnapshot.d.ts +1 -0
  10. package/dist/parts/GetSignatureHelpProviderRegistrySnapshot/GetSignatureHelpProviderRegistrySnapshot.js +1 -0
  11. package/dist/parts/RegisterSignatureHelpProvider/RegisterSignatureHelpProvider.d.ts +1 -0
  12. package/dist/parts/RegisterSignatureHelpProvider/RegisterSignatureHelpProvider.js +1 -0
  13. package/dist/parts/RegisteredSignatureHelpProvider/RegisteredSignatureHelpProvider.d.ts +7 -0
  14. package/dist/parts/RegisteredSignatureHelpProvider/RegisteredSignatureHelpProvider.js +1 -0
  15. package/dist/parts/ResetSignatureHelpProviderRegistry/ResetSignatureHelpProviderRegistry.d.ts +1 -0
  16. package/dist/parts/ResetSignatureHelpProviderRegistry/ResetSignatureHelpProviderRegistry.js +1 -0
  17. package/dist/parts/SignatureHelp/SignatureHelp.d.ts +11 -0
  18. package/dist/parts/SignatureHelp/SignatureHelp.js +4 -0
  19. package/dist/parts/SignatureHelpParameter/SignatureHelpParameter.d.ts +4 -0
  20. package/dist/parts/SignatureHelpParameter/SignatureHelpParameter.js +1 -0
  21. package/dist/parts/SignatureHelpProvider/SignatureHelpProvider.d.ts +7 -0
  22. package/dist/parts/SignatureHelpProvider/SignatureHelpProvider.js +1 -0
  23. package/dist/parts/SignatureHelpProviderRegistry/SignatureHelpProviderRegistry.d.ts +12 -0
  24. package/dist/parts/SignatureHelpProviderRegistry/SignatureHelpProviderRegistry.js +59 -0
  25. package/dist/parts/SignatureHelpProviderRegistrySnapshot/SignatureHelpProviderRegistrySnapshot.d.ts +6 -0
  26. package/dist/parts/SignatureHelpProviderRegistrySnapshot/SignatureHelpProviderRegistrySnapshot.js +1 -0
  27. package/dist/parts/SignatureHelpResult/SignatureHelpResult.d.ts +6 -0
  28. package/dist/parts/SignatureHelpResult/SignatureHelpResult.js +1 -0
  29. package/dist/parts/SignatureHelpSignature/SignatureHelpSignature.d.ts +6 -0
  30. package/dist/parts/SignatureHelpSignature/SignatureHelpSignature.js +1 -0
  31. package/dist/parts/SignatureHelpTextDocument/SignatureHelpTextDocument.d.ts +6 -0
  32. package/dist/parts/SignatureHelpTextDocument/SignatureHelpTextDocument.js +1 -0
  33. package/package.json +1 -1
package/dist/index.d.ts CHANGED
@@ -15,6 +15,7 @@ export { registerFileChangeHandler, type FileChangeHandler, type FileChanges } f
15
15
  export { executeFileSystemProviderGetPathSeparator, executeFileSystemProviderIsReadonly, executeFileSystemProviderReadDirWithFileTypes, executeFileSystemProviderReadFile, getFileSystemProviderRegistrySnapshot, registerFileSystemProvider, resetFileSystemProviderRegistry, } from './parts/FileSystemProviderRegistry/FileSystemProviderRegistry.ts';
16
16
  export { confirm, getWorkspaceFolder, getWorkspaceUri, handleWorkspaceRefresh, openUri, showNotification, type NotificationType, } from './parts/Host/Host.ts';
17
17
  export { executeHoverProvider, getHoverProviderRegistrySnapshot, registerHoverProvider, resetHoverProviderRegistry } from './parts/Hover/Hover.ts';
18
+ export { executeSignatureHelpProvider, getSignatureHelpProviderRegistrySnapshot, registerSignatureHelpProvider, resetSignatureHelpProviderRegistry, } from './parts/SignatureHelp/SignatureHelp.ts';
18
19
  export { getPlatform, type Platform } from './parts/Platform/Platform.ts';
19
20
  export { getLanguageServerRegistrySnapshot, registerLanguageServer, resetLanguageServerRegistry } from './parts/LanguageServer/LanguageServer.ts';
20
21
  export { registerBraceCompletionProvider, registerClosingTagProvider, registerCodeActionsProvider, registerCommentProvider, registerDefinitionProvider, registerImplementationProvider, registerReferenceProvider, registerRenameProvider, registerSelectionProvider, registerTabCompletionProvider, registerTypeDefinitionProvider, resetLanguageProviderRegistry, } from './parts/LanguageProvider/LanguageProvider.ts';
@@ -41,6 +42,7 @@ export type { FileSystemProviderRegistrySnapshot } from './parts/FileSystemProvi
41
42
  export type { RegisteredFileSystemProvider } from './parts/RegisteredFileSystemProvider/RegisteredFileSystemProvider.ts';
42
43
  export type { HandleExtensionManagementMessagePortOptions } from './parts/HandleExtensionManagementMessagePort/HandleExtensionManagementMessagePort.ts';
43
44
  export type { HoverProvider, HoverProviderRegistrySnapshot, HoverResult, RegisteredHoverProvider } from './parts/Hover/Hover.ts';
45
+ export type { RegisteredSignatureHelpProvider, SignatureHelpParameter, SignatureHelpProvider, SignatureHelpProviderRegistrySnapshot, SignatureHelpResult, SignatureHelpSignature, } from './parts/SignatureHelp/SignatureHelp.ts';
44
46
  export type { LanguageServerOptions, LanguageServerRegistrySnapshot } from './parts/LanguageServer/LanguageServer.ts';
45
47
  export type { OutputChannel } from './parts/OutputChannelHandle/OutputChannelHandle.ts';
46
48
  export type { OutputChannelRegistrySnapshot } from './parts/OutputChannelRegistrySnapshot/OutputChannelRegistrySnapshot.ts';
package/dist/index.js CHANGED
@@ -15,6 +15,7 @@ export { registerFileChangeHandler } from "./parts/FileChangeHandler/FileChangeH
15
15
  export { executeFileSystemProviderGetPathSeparator, executeFileSystemProviderIsReadonly, executeFileSystemProviderReadDirWithFileTypes, executeFileSystemProviderReadFile, getFileSystemProviderRegistrySnapshot, registerFileSystemProvider, resetFileSystemProviderRegistry, } from "./parts/FileSystemProviderRegistry/FileSystemProviderRegistry.js";
16
16
  export { confirm, getWorkspaceFolder, getWorkspaceUri, handleWorkspaceRefresh, openUri, showNotification, } from "./parts/Host/Host.js";
17
17
  export { executeHoverProvider, getHoverProviderRegistrySnapshot, registerHoverProvider, resetHoverProviderRegistry } from "./parts/Hover/Hover.js";
18
+ export { executeSignatureHelpProvider, getSignatureHelpProviderRegistrySnapshot, registerSignatureHelpProvider, resetSignatureHelpProviderRegistry, } from "./parts/SignatureHelp/SignatureHelp.js";
18
19
  export { getPlatform } from "./parts/Platform/Platform.js";
19
20
  export { getLanguageServerRegistrySnapshot, registerLanguageServer, resetLanguageServerRegistry } from "./parts/LanguageServer/LanguageServer.js";
20
21
  export { registerBraceCompletionProvider, registerClosingTagProvider, registerCodeActionsProvider, registerCommentProvider, registerDefinitionProvider, registerImplementationProvider, registerReferenceProvider, registerRenameProvider, registerSelectionProvider, registerTabCompletionProvider, registerTypeDefinitionProvider, resetLanguageProviderRegistry, } from "./parts/LanguageProvider/LanguageProvider.js";
@@ -19,6 +19,7 @@ export declare const commandMap: {
19
19
  readonly languageId: string;
20
20
  }) => Promise<unknown>;
21
21
  '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>;
22
+ 'ExtensionApi.executeSignatureHelpProvider': (textDocument: import("../SignatureHelpTextDocument/SignatureHelpTextDocument.ts").TextDocument, offset: number, ...args: readonly unknown[]) => Promise<import("../SignatureHelpResult/SignatureHelpResult.ts").SignatureHelpResult | undefined>;
22
23
  'ExtensionApi.executeSourceControlAcceptInput': (id: string, value: string) => Promise<unknown>;
23
24
  'ExtensionApi.executeSourceControlAdd': (id: string, path: string) => Promise<unknown>;
24
25
  'ExtensionApi.executeSourceControlDiscard': (id: string, path: string) => Promise<unknown>;
@@ -40,6 +41,7 @@ export declare const commandMap: {
40
41
  'ExtensionApi.getHoverProviderRegistrySnapshot': () => import("../HoverProviderRegistrySnapshot/HoverProviderRegistrySnapshot.ts").HoverProviderRegistrySnapshot;
41
42
  'ExtensionApi.getLanguageServerRegistrySnapshot': () => import("../LanguageServerRegistrySnapshot/LanguageServerRegistrySnapshot.ts").LanguageServerRegistrySnapshot;
42
43
  'ExtensionApi.getOutputChannelRegistrySnapshot': () => import("../OutputChannelRegistrySnapshot/OutputChannelRegistrySnapshot.ts").OutputChannelRegistrySnapshot;
44
+ 'ExtensionApi.getSignatureHelpProviderRegistrySnapshot': () => import("../SignatureHelpProviderRegistrySnapshot/SignatureHelpProviderRegistrySnapshot.ts").SignatureHelpProviderRegistrySnapshot;
43
45
  'ExtensionApi.getSourceControlProviderRegistrySnapshot': () => import("../SourceControlProviderRegistrySnapshot/SourceControlProviderRegistrySnapshot.ts").SourceControlProviderRegistrySnapshot;
44
46
  'ExtensionApi.getStatusBarItems': () => readonly import("../StatusBarItem/StatusBarItem.ts").StatusBarItem[];
45
47
  'ExtensionApi.getViewActions': (uid: number) => Promise<readonly import("../View/View.ts").ViewAction[]>;
@@ -0,0 +1 @@
1
+ export { executeSignatureHelpProvider } from '../SignatureHelpProviderRegistry/SignatureHelpProviderRegistry.ts';
@@ -0,0 +1 @@
1
+ export { executeSignatureHelpProvider } from "../SignatureHelpProviderRegistry/SignatureHelpProviderRegistry.js";
@@ -18,6 +18,7 @@ export declare const commandMap: {
18
18
  readonly languageId: string;
19
19
  }) => Promise<unknown>;
20
20
  '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>;
21
+ 'ExtensionApi.executeSignatureHelpProvider': (textDocument: import("../SignatureHelpTextDocument/SignatureHelpTextDocument.ts").TextDocument, offset: number, ...args: readonly unknown[]) => Promise<import("../SignatureHelpResult/SignatureHelpResult.ts").SignatureHelpResult | undefined>;
21
22
  'ExtensionApi.executeSourceControlAcceptInput': (id: string, value: string) => Promise<unknown>;
22
23
  'ExtensionApi.executeSourceControlAdd': (id: string, path: string) => Promise<unknown>;
23
24
  'ExtensionApi.executeSourceControlDiscard': (id: string, path: string) => Promise<unknown>;
@@ -39,6 +40,7 @@ export declare const commandMap: {
39
40
  'ExtensionApi.getHoverProviderRegistrySnapshot': () => import("../HoverProviderRegistrySnapshot/HoverProviderRegistrySnapshot.ts").HoverProviderRegistrySnapshot;
40
41
  'ExtensionApi.getLanguageServerRegistrySnapshot': () => import("../LanguageServerRegistrySnapshot/LanguageServerRegistrySnapshot.ts").LanguageServerRegistrySnapshot;
41
42
  'ExtensionApi.getOutputChannelRegistrySnapshot': () => import("../OutputChannelRegistrySnapshot/OutputChannelRegistrySnapshot.ts").OutputChannelRegistrySnapshot;
43
+ 'ExtensionApi.getSignatureHelpProviderRegistrySnapshot': () => import("../SignatureHelpProviderRegistrySnapshot/SignatureHelpProviderRegistrySnapshot.ts").SignatureHelpProviderRegistrySnapshot;
42
44
  'ExtensionApi.getSourceControlProviderRegistrySnapshot': () => import("../SourceControlProviderRegistrySnapshot/SourceControlProviderRegistrySnapshot.ts").SourceControlProviderRegistrySnapshot;
43
45
  'ExtensionApi.getStatusBarItems': () => readonly import("../StatusBarItem/StatusBarItem.ts").StatusBarItem[];
44
46
  'ExtensionApi.getViewActions': (uid: number) => Promise<readonly import("../View/View.ts").ViewAction[]>;
@@ -10,6 +10,7 @@ import { executeHoverProvider, getHoverProviderRegistrySnapshot } from "../Hover
10
10
  import { executeLanguageProvider, executeOrganizeImportsProvider } from "../LanguageProvider/LanguageProvider.js";
11
11
  import { getLanguageServerRegistrySnapshot } from "../LanguageServer/LanguageServer.js";
12
12
  import { getOutputChannelRegistrySnapshot } from "../OutputChannel/OutputChannel.js";
13
+ import { executeSignatureHelpProvider, getSignatureHelpProviderRegistrySnapshot } from "../SignatureHelp/SignatureHelp.js";
13
14
  import { executeSourceControlAcceptInput, executeSourceControlAdd, executeSourceControlDiscard, executeSourceControlGenerateCommitMessage, executeSourceControlGetBadgeCount, executeSourceControlGetChangedFiles, executeSourceControlGetFeatures, executeSourceControlGetFileBefore, executeSourceControlGetFileBeforeUri, executeSourceControlGetFileDecorations, executeSourceControlGetGroups, executeSourceControlIsActive, getSourceControlProviderRegistrySnapshot, } from "../SourceControl/SourceControl.js";
14
15
  import { createViewInstance, dispatchViewEvent, disposeViewInstance, executeViewProvider, getViewActions, getViewActionsDom, getViewMenuEntries, getViewRegistrySnapshot, renderViewInstance, saveViewInstanceState, } from "../ViewRegistry/ViewRegistry.js";
15
16
  export const commandMap = {
@@ -28,6 +29,7 @@ export const commandMap = {
28
29
  'ExtensionApi.executeLanguageProvider': executeLanguageProvider,
29
30
  'ExtensionApi.executeOrganizeImportsProvider': executeOrganizeImportsProvider,
30
31
  'ExtensionApi.executeResolveCompletionItemProvider': executeResolveCompletionItemProvider,
32
+ 'ExtensionApi.executeSignatureHelpProvider': executeSignatureHelpProvider,
31
33
  'ExtensionApi.executeSourceControlAcceptInput': executeSourceControlAcceptInput,
32
34
  'ExtensionApi.executeSourceControlAdd': executeSourceControlAdd,
33
35
  'ExtensionApi.executeSourceControlDiscard': executeSourceControlDiscard,
@@ -49,6 +51,7 @@ export const commandMap = {
49
51
  'ExtensionApi.getHoverProviderRegistrySnapshot': getHoverProviderRegistrySnapshot,
50
52
  'ExtensionApi.getLanguageServerRegistrySnapshot': getLanguageServerRegistrySnapshot,
51
53
  'ExtensionApi.getOutputChannelRegistrySnapshot': getOutputChannelRegistrySnapshot,
54
+ 'ExtensionApi.getSignatureHelpProviderRegistrySnapshot': getSignatureHelpProviderRegistrySnapshot,
52
55
  'ExtensionApi.getSourceControlProviderRegistrySnapshot': getSourceControlProviderRegistrySnapshot,
53
56
  'ExtensionApi.getStatusBarItems': getStatusBarItems,
54
57
  'ExtensionApi.getViewActions': getViewActions,
@@ -20,6 +20,7 @@ export declare const commandMap: {
20
20
  readonly languageId: string;
21
21
  }) => Promise<unknown>;
22
22
  '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>;
23
+ 'ExtensionApi.executeSignatureHelpProvider': (textDocument: import("../SignatureHelpTextDocument/SignatureHelpTextDocument.ts").TextDocument, offset: number, ...args: readonly unknown[]) => Promise<import("../SignatureHelpResult/SignatureHelpResult.ts").SignatureHelpResult | undefined>;
23
24
  'ExtensionApi.executeSourceControlAcceptInput': (id: string, value: string) => Promise<unknown>;
24
25
  'ExtensionApi.executeSourceControlAdd': (id: string, path: string) => Promise<unknown>;
25
26
  'ExtensionApi.executeSourceControlDiscard': (id: string, path: string) => Promise<unknown>;
@@ -41,6 +42,7 @@ export declare const commandMap: {
41
42
  'ExtensionApi.getHoverProviderRegistrySnapshot': () => import("../HoverProviderRegistrySnapshot/HoverProviderRegistrySnapshot.ts").HoverProviderRegistrySnapshot;
42
43
  'ExtensionApi.getLanguageServerRegistrySnapshot': () => import("../LanguageServerRegistrySnapshot/LanguageServerRegistrySnapshot.ts").LanguageServerRegistrySnapshot;
43
44
  'ExtensionApi.getOutputChannelRegistrySnapshot': () => import("../OutputChannelRegistrySnapshot/OutputChannelRegistrySnapshot.ts").OutputChannelRegistrySnapshot;
45
+ 'ExtensionApi.getSignatureHelpProviderRegistrySnapshot': () => import("../SignatureHelpProviderRegistrySnapshot/SignatureHelpProviderRegistrySnapshot.ts").SignatureHelpProviderRegistrySnapshot;
44
46
  'ExtensionApi.getSourceControlProviderRegistrySnapshot': () => import("../SourceControlProviderRegistrySnapshot/SourceControlProviderRegistrySnapshot.ts").SourceControlProviderRegistrySnapshot;
45
47
  'ExtensionApi.getStatusBarItems': () => readonly import("../StatusBarItem/StatusBarItem.ts").StatusBarItem[];
46
48
  'ExtensionApi.getViewActions': (uid: number) => Promise<readonly import("../View/View.ts").ViewAction[]>;
@@ -0,0 +1 @@
1
+ export { getSignatureHelpProviderRegistrySnapshot } from '../SignatureHelpProviderRegistry/SignatureHelpProviderRegistry.ts';
@@ -0,0 +1 @@
1
+ export { getSignatureHelpProviderRegistrySnapshot } from "../SignatureHelpProviderRegistry/SignatureHelpProviderRegistry.js";
@@ -0,0 +1 @@
1
+ export { registerSignatureHelpProvider } from '../SignatureHelpProviderRegistry/SignatureHelpProviderRegistry.ts';
@@ -0,0 +1 @@
1
+ export { registerSignatureHelpProvider } from "../SignatureHelpProviderRegistry/SignatureHelpProviderRegistry.js";
@@ -0,0 +1,7 @@
1
+ import type { SignatureHelpResult } from '../SignatureHelpResult/SignatureHelpResult.ts';
2
+ import type { TextDocument } from '../SignatureHelpTextDocument/SignatureHelpTextDocument.ts';
3
+ export interface RegisteredSignatureHelpProvider {
4
+ readonly id: string;
5
+ readonly languageId: string;
6
+ readonly provideSignatureHelp: (textDocument: TextDocument, offset: number, ...args: readonly unknown[]) => SignatureHelpResult | undefined | Promise<SignatureHelpResult | undefined>;
7
+ }
@@ -0,0 +1 @@
1
+ export { resetSignatureHelpProviderRegistry } from '../SignatureHelpProviderRegistry/SignatureHelpProviderRegistry.ts';
@@ -0,0 +1 @@
1
+ export { resetSignatureHelpProviderRegistry } from "../SignatureHelpProviderRegistry/SignatureHelpProviderRegistry.js";
@@ -0,0 +1,11 @@
1
+ export { executeSignatureHelpProvider } from '../ExecuteSignatureHelpProvider/ExecuteSignatureHelpProvider.ts';
2
+ export { getSignatureHelpProviderRegistrySnapshot } from '../GetSignatureHelpProviderRegistrySnapshot/GetSignatureHelpProviderRegistrySnapshot.ts';
3
+ export { registerSignatureHelpProvider } from '../RegisterSignatureHelpProvider/RegisterSignatureHelpProvider.ts';
4
+ export type { RegisteredSignatureHelpProvider } from '../RegisteredSignatureHelpProvider/RegisteredSignatureHelpProvider.ts';
5
+ export { resetSignatureHelpProviderRegistry } from '../ResetSignatureHelpProviderRegistry/ResetSignatureHelpProviderRegistry.ts';
6
+ export type { SignatureHelpParameter } from '../SignatureHelpParameter/SignatureHelpParameter.ts';
7
+ export type { SignatureHelpProvider } from '../SignatureHelpProvider/SignatureHelpProvider.ts';
8
+ export type { SignatureHelpProviderRegistrySnapshot } from '../SignatureHelpProviderRegistrySnapshot/SignatureHelpProviderRegistrySnapshot.ts';
9
+ export type { SignatureHelpResult } from '../SignatureHelpResult/SignatureHelpResult.ts';
10
+ export type { SignatureHelpSignature } from '../SignatureHelpSignature/SignatureHelpSignature.ts';
11
+ export type { TextDocument } from '../SignatureHelpTextDocument/SignatureHelpTextDocument.ts';
@@ -0,0 +1,4 @@
1
+ export { executeSignatureHelpProvider } from "../ExecuteSignatureHelpProvider/ExecuteSignatureHelpProvider.js";
2
+ export { getSignatureHelpProviderRegistrySnapshot } from "../GetSignatureHelpProviderRegistrySnapshot/GetSignatureHelpProviderRegistrySnapshot.js";
3
+ export { registerSignatureHelpProvider } from "../RegisterSignatureHelpProvider/RegisterSignatureHelpProvider.js";
4
+ export { resetSignatureHelpProviderRegistry } from "../ResetSignatureHelpProviderRegistry/ResetSignatureHelpProviderRegistry.js";
@@ -0,0 +1,4 @@
1
+ export interface SignatureHelpParameter {
2
+ readonly documentation?: string;
3
+ readonly label: string;
4
+ }
@@ -0,0 +1,7 @@
1
+ import type { SignatureHelpResult } from '../SignatureHelpResult/SignatureHelpResult.ts';
2
+ import type { TextDocument } from '../SignatureHelpTextDocument/SignatureHelpTextDocument.ts';
3
+ export interface SignatureHelpProvider {
4
+ readonly id: string;
5
+ readonly languageId: string;
6
+ readonly provideSignatureHelp: (textDocument: TextDocument, offset: number, ...args: readonly unknown[]) => SignatureHelpResult | undefined | Promise<SignatureHelpResult | undefined>;
7
+ }
@@ -0,0 +1,12 @@
1
+ import type { Disposable } from '../Disposable/Disposable.ts';
2
+ import type { RegisteredSignatureHelpProvider } from '../RegisteredSignatureHelpProvider/RegisteredSignatureHelpProvider.ts';
3
+ import type { SignatureHelpProvider } from '../SignatureHelpProvider/SignatureHelpProvider.ts';
4
+ import type { SignatureHelpProviderRegistrySnapshot } from '../SignatureHelpProviderRegistrySnapshot/SignatureHelpProviderRegistrySnapshot.ts';
5
+ import type { SignatureHelpResult } from '../SignatureHelpResult/SignatureHelpResult.ts';
6
+ import type { TextDocument } from '../SignatureHelpTextDocument/SignatureHelpTextDocument.ts';
7
+ export declare const hasSignatureHelpProvider: (id: string) => boolean;
8
+ export declare const registerSignatureHelpProvider: (provider: SignatureHelpProvider) => Disposable;
9
+ export declare const executeSignatureHelpProvider: (textDocument: TextDocument, offset: number, ...args: readonly unknown[]) => Promise<SignatureHelpResult | undefined>;
10
+ export declare const getSignatureHelpProviders: () => RegisteredSignatureHelpProvider[];
11
+ export declare const getSignatureHelpProviderRegistrySnapshot: () => SignatureHelpProviderRegistrySnapshot;
12
+ export declare const resetSignatureHelpProviderRegistry: () => void;
@@ -0,0 +1,59 @@
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 validateSignatureHelpResult = (signatureHelp) => {
16
+ if (signatureHelp === undefined) {
17
+ return undefined;
18
+ }
19
+ if (!signatureHelp || typeof signatureHelp !== 'object' || Array.isArray(signatureHelp)) {
20
+ throw new ExtensionApiError(`invalid signature help result: signature help must be of type object or undefined but is ${getType(signatureHelp)}`);
21
+ }
22
+ return signatureHelp;
23
+ };
24
+ const registry = createProviderRegistry({
25
+ mapProvider(provider) {
26
+ return {
27
+ id: provider.id,
28
+ languageId: provider.languageId,
29
+ provideSignatureHelp(textDocument, offset, ...args) {
30
+ return provider.provideSignatureHelp(textDocument, offset, ...args);
31
+ },
32
+ };
33
+ },
34
+ providerName: 'signature help provider',
35
+ requiredMethods: ['provideSignatureHelp'],
36
+ requireLanguageId: true,
37
+ });
38
+ export const hasSignatureHelpProvider = registry.hasProvider;
39
+ export const registerSignatureHelpProvider = (provider) => {
40
+ const registeredProvider = registry.registerProvider(provider);
41
+ return {
42
+ dispose() {
43
+ registry.deleteProvider(registeredProvider.id);
44
+ },
45
+ };
46
+ };
47
+ export const executeSignatureHelpProvider = async (textDocument, offset, ...args) => {
48
+ return registry.executeProviderByLanguageId(textDocument.languageId, 'provideSignatureHelp', [textDocument, offset, ...args], validateSignatureHelpResult);
49
+ };
50
+ export const getSignatureHelpProviders = registry.getProviders;
51
+ export const getSignatureHelpProviderRegistrySnapshot = () => {
52
+ return {
53
+ providers: registry.getProviders().map((provider) => ({
54
+ id: provider.id,
55
+ languageId: provider.languageId,
56
+ })),
57
+ };
58
+ };
59
+ export const resetSignatureHelpProviderRegistry = registry.reset;
@@ -0,0 +1,6 @@
1
+ export interface SignatureHelpProviderRegistrySnapshot {
2
+ readonly providers: readonly {
3
+ readonly id: string;
4
+ readonly languageId: string;
5
+ }[];
6
+ }
@@ -0,0 +1,6 @@
1
+ import type { SignatureHelpSignature } from '../SignatureHelpSignature/SignatureHelpSignature.ts';
2
+ export interface SignatureHelpResult {
3
+ readonly activeParameter: number;
4
+ readonly activeSignature: number;
5
+ readonly signatures: readonly SignatureHelpSignature[];
6
+ }
@@ -0,0 +1,6 @@
1
+ import type { SignatureHelpParameter } from '../SignatureHelpParameter/SignatureHelpParameter.ts';
2
+ export interface SignatureHelpSignature {
3
+ readonly documentation?: string;
4
+ readonly label: string;
5
+ readonly parameters: readonly SignatureHelpParameter[];
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
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lvce-editor/api",
3
- "version": "8.72.0",
3
+ "version": "8.74.0",
4
4
  "description": "Tree-shakeable extension API for Lvce Editor extensions.",
5
5
  "keywords": [
6
6
  "lvce-editor",