@lvce-editor/api 8.48.0 → 8.49.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +2 -0
- package/dist/index.js +1 -0
- package/dist/parts/CommandMap/CommandMap.d.ts +1 -0
- package/dist/parts/ExtensionApiCommandMap/ExtensionApiCommandMap.d.ts +1 -0
- package/dist/parts/ExtensionApiCommandMap/ExtensionApiCommandMap.js +2 -0
- package/dist/parts/ExtensionApiWorkerCommandMap/ExtensionApiWorkerCommandMap.d.ts +1 -0
- package/dist/parts/LanguageServer/LanguageServer.d.ts +5 -0
- package/dist/parts/LanguageServer/LanguageServer.js +3 -0
- package/dist/parts/LanguageServerOptions/LanguageServerOptions.d.ts +6 -0
- package/dist/parts/LanguageServerOptions/LanguageServerOptions.js +1 -0
- package/dist/parts/LanguageServerRegistry/LanguageServerRegistry.d.ts +6 -0
- package/dist/parts/LanguageServerRegistry/LanguageServerRegistry.js +45 -0
- package/dist/parts/LanguageServerRegistrySnapshot/LanguageServerRegistrySnapshot.d.ts +4 -0
- package/dist/parts/LanguageServerRegistrySnapshot/LanguageServerRegistrySnapshot.js +1 -0
- package/dist/parts/View/View.d.ts +1 -0
- package/dist/parts/ViewRegistry/ViewRegistry.js +5 -0
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -11,6 +11,7 @@ export { executeFormattingProvider, getFormattingProviderRegistrySnapshot, regis
|
|
|
11
11
|
export { exists, mkdir, readDirWithFileTypes, readFile, remove, stat, writeFile } from './parts/FileSystem/FileSystem.ts';
|
|
12
12
|
export { confirm, getWorkspaceFolder, handleWorkspaceRefresh, openUri } from './parts/Host/Host.ts';
|
|
13
13
|
export { executeHoverProvider, getHoverProviderRegistrySnapshot, registerHoverProvider, resetHoverProviderRegistry } from './parts/Hover/Hover.ts';
|
|
14
|
+
export { getLanguageServerRegistrySnapshot, registerLanguageServer, resetLanguageServerRegistry } from './parts/LanguageServer/LanguageServer.ts';
|
|
14
15
|
export { registerBraceCompletionProvider, registerClosingTagProvider, registerCodeActionsProvider, registerCommentProvider, registerDefinitionProvider, registerImplementationProvider, registerReferenceProvider, registerRenameProvider, registerSelectionProvider, registerTabCompletionProvider, registerTypeDefinitionProvider, resetLanguageProviderRegistry, } from './parts/LanguageProvider/LanguageProvider.ts';
|
|
15
16
|
export type { LanguageProvider } from './parts/LanguageProvider/LanguageProvider.ts';
|
|
16
17
|
export { executeSourceControlAcceptInput, executeSourceControlAdd, executeSourceControlDiscard, executeSourceControlGenerateCommitMessage, executeSourceControlGetBadgeCount, executeSourceControlGetChangedFiles, executeSourceControlGetFeatures, executeSourceControlGetFileBefore, executeSourceControlGetFileDecorations, executeSourceControlGetGroups, executeSourceControlIsActive, registerSourceControlProvider, resetSourceControlProviderRegistry, } from './parts/SourceControl/SourceControl.ts';
|
|
@@ -31,6 +32,7 @@ export type { FormattingEdit, FormattingProvider, FormattingProviderRegistrySnap
|
|
|
31
32
|
export type { FileSystemDirent } from './parts/FileSystem/FileSystem.ts';
|
|
32
33
|
export type { HandleExtensionManagementMessagePortOptions } from './parts/HandleExtensionManagementMessagePort/HandleExtensionManagementMessagePort.ts';
|
|
33
34
|
export type { HoverProvider, HoverProviderRegistrySnapshot, HoverResult, RegisteredHoverProvider } from './parts/Hover/Hover.ts';
|
|
35
|
+
export type { LanguageServerOptions, LanguageServerRegistrySnapshot } from './parts/LanguageServer/LanguageServer.ts';
|
|
34
36
|
export type { OutputChannel } from './parts/OutputChannelHandle/OutputChannelHandle.ts';
|
|
35
37
|
export type { OutputChannelRegistrySnapshot } from './parts/OutputChannelRegistrySnapshot/OutputChannelRegistrySnapshot.ts';
|
|
36
38
|
export type { RegisteredOutputChannel } from './parts/RegisteredOutputChannel/RegisteredOutputChannel.ts';
|
package/dist/index.js
CHANGED
|
@@ -11,6 +11,7 @@ export { executeFormattingProvider, getFormattingProviderRegistrySnapshot, regis
|
|
|
11
11
|
export { exists, mkdir, readDirWithFileTypes, readFile, remove, stat, writeFile } from "./parts/FileSystem/FileSystem.js";
|
|
12
12
|
export { confirm, getWorkspaceFolder, handleWorkspaceRefresh, openUri } from "./parts/Host/Host.js";
|
|
13
13
|
export { executeHoverProvider, getHoverProviderRegistrySnapshot, registerHoverProvider, resetHoverProviderRegistry } from "./parts/Hover/Hover.js";
|
|
14
|
+
export { getLanguageServerRegistrySnapshot, registerLanguageServer, resetLanguageServerRegistry } from "./parts/LanguageServer/LanguageServer.js";
|
|
14
15
|
export { registerBraceCompletionProvider, registerClosingTagProvider, registerCodeActionsProvider, registerCommentProvider, registerDefinitionProvider, registerImplementationProvider, registerReferenceProvider, registerRenameProvider, registerSelectionProvider, registerTabCompletionProvider, registerTypeDefinitionProvider, resetLanguageProviderRegistry, } from "./parts/LanguageProvider/LanguageProvider.js";
|
|
15
16
|
export { executeSourceControlAcceptInput, executeSourceControlAdd, executeSourceControlDiscard, executeSourceControlGenerateCommitMessage, executeSourceControlGetBadgeCount, executeSourceControlGetChangedFiles, executeSourceControlGetFeatures, executeSourceControlGetFileBefore, executeSourceControlGetFileDecorations, executeSourceControlGetGroups, executeSourceControlIsActive, registerSourceControlProvider, resetSourceControlProviderRegistry, } from "./parts/SourceControl/SourceControl.js";
|
|
16
17
|
export { createViewInstance, dispatchViewEvent, disposeViewInstance, executeViewProvider, getViewRegistrySnapshot, renderViewInstance, registerView, resetViewRegistry, saveViewInstanceState, } from "./parts/ViewRegistry/ViewRegistry.js";
|
|
@@ -32,6 +32,7 @@ export declare const commandMap: {
|
|
|
32
32
|
'ExtensionApi.getDiagnosticProviderRegistrySnapshot': () => import("../DiagnosticProviderRegistrySnapshot/DiagnosticProviderRegistrySnapshot.ts").DiagnosticProviderRegistrySnapshot;
|
|
33
33
|
'ExtensionApi.getFormattingProviderRegistrySnapshot': () => import("../FormattingProviderRegistrySnapshot/FormattingProviderRegistrySnapshot.ts").FormattingProviderRegistrySnapshot;
|
|
34
34
|
'ExtensionApi.getHoverProviderRegistrySnapshot': () => import("../HoverProviderRegistrySnapshot/HoverProviderRegistrySnapshot.ts").HoverProviderRegistrySnapshot;
|
|
35
|
+
'ExtensionApi.getLanguageServerRegistrySnapshot': () => import("../LanguageServerRegistrySnapshot/LanguageServerRegistrySnapshot.ts").LanguageServerRegistrySnapshot;
|
|
35
36
|
'ExtensionApi.getOutputChannelRegistrySnapshot': () => import("../OutputChannelRegistrySnapshot/OutputChannelRegistrySnapshot.ts").OutputChannelRegistrySnapshot;
|
|
36
37
|
'ExtensionApi.getSourceControlProviderRegistrySnapshot': () => import("../SourceControlProviderRegistrySnapshot/SourceControlProviderRegistrySnapshot.ts").SourceControlProviderRegistrySnapshot;
|
|
37
38
|
'ExtensionApi.getStatusBarItems': () => readonly import("../StatusBarItem/StatusBarItem.ts").StatusBarItem[];
|
|
@@ -31,6 +31,7 @@ export declare const commandMap: {
|
|
|
31
31
|
'ExtensionApi.getDiagnosticProviderRegistrySnapshot': () => import("../DiagnosticProviderRegistrySnapshot/DiagnosticProviderRegistrySnapshot.ts").DiagnosticProviderRegistrySnapshot;
|
|
32
32
|
'ExtensionApi.getFormattingProviderRegistrySnapshot': () => import("../FormattingProviderRegistrySnapshot/FormattingProviderRegistrySnapshot.ts").FormattingProviderRegistrySnapshot;
|
|
33
33
|
'ExtensionApi.getHoverProviderRegistrySnapshot': () => import("../HoverProviderRegistrySnapshot/HoverProviderRegistrySnapshot.ts").HoverProviderRegistrySnapshot;
|
|
34
|
+
'ExtensionApi.getLanguageServerRegistrySnapshot': () => import("../LanguageServerRegistrySnapshot/LanguageServerRegistrySnapshot.ts").LanguageServerRegistrySnapshot;
|
|
34
35
|
'ExtensionApi.getOutputChannelRegistrySnapshot': () => import("../OutputChannelRegistrySnapshot/OutputChannelRegistrySnapshot.ts").OutputChannelRegistrySnapshot;
|
|
35
36
|
'ExtensionApi.getSourceControlProviderRegistrySnapshot': () => import("../SourceControlProviderRegistrySnapshot/SourceControlProviderRegistrySnapshot.ts").SourceControlProviderRegistrySnapshot;
|
|
36
37
|
'ExtensionApi.getStatusBarItems': () => readonly import("../StatusBarItem/StatusBarItem.ts").StatusBarItem[];
|
|
@@ -5,6 +5,7 @@ import { executeFormattingProvider, getFormattingProviderRegistrySnapshot } from
|
|
|
5
5
|
import { getStatusBarItems } from "../GetStatusBarItems/GetStatusBarItems.js";
|
|
6
6
|
import { executeHoverProvider, getHoverProviderRegistrySnapshot } from "../Hover/Hover.js";
|
|
7
7
|
import { executeLanguageProvider, executeOrganizeImportsProvider } from "../LanguageProvider/LanguageProvider.js";
|
|
8
|
+
import { getLanguageServerRegistrySnapshot } from "../LanguageServer/LanguageServer.js";
|
|
8
9
|
import { getOutputChannelRegistrySnapshot } from "../OutputChannel/OutputChannel.js";
|
|
9
10
|
import { executeSourceControlAcceptInput, executeSourceControlAdd, executeSourceControlDiscard, executeSourceControlGenerateCommitMessage, executeSourceControlGetBadgeCount, executeSourceControlGetChangedFiles, executeSourceControlGetFeatures, executeSourceControlGetFileBefore, executeSourceControlGetFileDecorations, executeSourceControlGetGroups, executeSourceControlIsActive, getSourceControlProviderRegistrySnapshot, } from "../SourceControl/SourceControl.js";
|
|
10
11
|
import { createViewInstance, dispatchViewEvent, disposeViewInstance, executeViewProvider, getViewActions, getViewMenuEntries, getViewRegistrySnapshot, renderViewInstance, saveViewInstanceState, } from "../ViewRegistry/ViewRegistry.js";
|
|
@@ -37,6 +38,7 @@ export const commandMap = {
|
|
|
37
38
|
'ExtensionApi.getDiagnosticProviderRegistrySnapshot': getDiagnosticProviderRegistrySnapshot,
|
|
38
39
|
'ExtensionApi.getFormattingProviderRegistrySnapshot': getFormattingProviderRegistrySnapshot,
|
|
39
40
|
'ExtensionApi.getHoverProviderRegistrySnapshot': getHoverProviderRegistrySnapshot,
|
|
41
|
+
'ExtensionApi.getLanguageServerRegistrySnapshot': getLanguageServerRegistrySnapshot,
|
|
40
42
|
'ExtensionApi.getOutputChannelRegistrySnapshot': getOutputChannelRegistrySnapshot,
|
|
41
43
|
'ExtensionApi.getSourceControlProviderRegistrySnapshot': getSourceControlProviderRegistrySnapshot,
|
|
42
44
|
'ExtensionApi.getStatusBarItems': getStatusBarItems,
|
|
@@ -33,6 +33,7 @@ export declare const commandMap: {
|
|
|
33
33
|
'ExtensionApi.getDiagnosticProviderRegistrySnapshot': () => import("../DiagnosticProviderRegistrySnapshot/DiagnosticProviderRegistrySnapshot.ts").DiagnosticProviderRegistrySnapshot;
|
|
34
34
|
'ExtensionApi.getFormattingProviderRegistrySnapshot': () => import("../FormattingProviderRegistrySnapshot/FormattingProviderRegistrySnapshot.ts").FormattingProviderRegistrySnapshot;
|
|
35
35
|
'ExtensionApi.getHoverProviderRegistrySnapshot': () => import("../HoverProviderRegistrySnapshot/HoverProviderRegistrySnapshot.ts").HoverProviderRegistrySnapshot;
|
|
36
|
+
'ExtensionApi.getLanguageServerRegistrySnapshot': () => import("../LanguageServerRegistrySnapshot/LanguageServerRegistrySnapshot.ts").LanguageServerRegistrySnapshot;
|
|
36
37
|
'ExtensionApi.getOutputChannelRegistrySnapshot': () => import("../OutputChannelRegistrySnapshot/OutputChannelRegistrySnapshot.ts").OutputChannelRegistrySnapshot;
|
|
37
38
|
'ExtensionApi.getSourceControlProviderRegistrySnapshot': () => import("../SourceControlProviderRegistrySnapshot/SourceControlProviderRegistrySnapshot.ts").SourceControlProviderRegistrySnapshot;
|
|
38
39
|
'ExtensionApi.getStatusBarItems': () => readonly import("../StatusBarItem/StatusBarItem.ts").StatusBarItem[];
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { getLanguageServerRegistrySnapshot } from '../LanguageServerRegistry/LanguageServerRegistry.ts';
|
|
2
|
+
export { registerLanguageServer } from '../LanguageServerRegistry/LanguageServerRegistry.ts';
|
|
3
|
+
export { resetLanguageServerRegistry } from '../LanguageServerRegistry/LanguageServerRegistry.ts';
|
|
4
|
+
export type { LanguageServerOptions } from '../LanguageServerOptions/LanguageServerOptions.ts';
|
|
5
|
+
export type { LanguageServerRegistrySnapshot } from '../LanguageServerRegistrySnapshot/LanguageServerRegistrySnapshot.ts';
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export { getLanguageServerRegistrySnapshot } from "../LanguageServerRegistry/LanguageServerRegistry.js";
|
|
2
|
+
export { registerLanguageServer } from "../LanguageServerRegistry/LanguageServerRegistry.js";
|
|
3
|
+
export { resetLanguageServerRegistry } from "../LanguageServerRegistry/LanguageServerRegistry.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { Disposable } from '../Disposable/Disposable.ts';
|
|
2
|
+
import type { LanguageServerOptions } from '../LanguageServerOptions/LanguageServerOptions.ts';
|
|
3
|
+
import type { LanguageServerRegistrySnapshot } from '../LanguageServerRegistrySnapshot/LanguageServerRegistrySnapshot.ts';
|
|
4
|
+
export declare const registerLanguageServer: (options: LanguageServerOptions) => Disposable;
|
|
5
|
+
export declare const getLanguageServerRegistrySnapshot: () => LanguageServerRegistrySnapshot;
|
|
6
|
+
export declare const resetLanguageServerRegistry: () => void;
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { ExtensionApiError } from "../ExtensionApiError/ExtensionApiError.js";
|
|
2
|
+
const languageServers = Object.create(null);
|
|
3
|
+
const assertNonEmptyString = (value, name) => {
|
|
4
|
+
if (typeof value !== 'string' || value.length === 0) {
|
|
5
|
+
throw new ExtensionApiError(`language server is missing ${name}`);
|
|
6
|
+
}
|
|
7
|
+
};
|
|
8
|
+
const validateLanguageServer = (options) => {
|
|
9
|
+
if (!options) {
|
|
10
|
+
throw new ExtensionApiError('language server is not defined');
|
|
11
|
+
}
|
|
12
|
+
assertNonEmptyString(options.id, 'id');
|
|
13
|
+
assertNonEmptyString(options.languageId, 'languageId');
|
|
14
|
+
assertNonEmptyString(options.uri, 'uri');
|
|
15
|
+
if (!Array.isArray(options.argv) || options.argv.some((argument) => typeof argument !== 'string')) {
|
|
16
|
+
throw new ExtensionApiError(`language server ${options.id} has invalid argv`);
|
|
17
|
+
}
|
|
18
|
+
if (options.id in languageServers) {
|
|
19
|
+
throw new ExtensionApiError(`language server ${options.id} is already registered`);
|
|
20
|
+
}
|
|
21
|
+
};
|
|
22
|
+
export const registerLanguageServer = (options) => {
|
|
23
|
+
validateLanguageServer(options);
|
|
24
|
+
languageServers[options.id] = {
|
|
25
|
+
argv: [...options.argv],
|
|
26
|
+
id: options.id,
|
|
27
|
+
languageId: options.languageId,
|
|
28
|
+
uri: options.uri,
|
|
29
|
+
};
|
|
30
|
+
return {
|
|
31
|
+
dispose() {
|
|
32
|
+
delete languageServers[options.id];
|
|
33
|
+
},
|
|
34
|
+
};
|
|
35
|
+
};
|
|
36
|
+
export const getLanguageServerRegistrySnapshot = () => {
|
|
37
|
+
return {
|
|
38
|
+
languageServers: Object.values(languageServers),
|
|
39
|
+
};
|
|
40
|
+
};
|
|
41
|
+
export const resetLanguageServerRegistry = () => {
|
|
42
|
+
for (const id of Object.keys(languageServers)) {
|
|
43
|
+
delete languageServers[id];
|
|
44
|
+
}
|
|
45
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -38,6 +38,7 @@ export interface DomEventListener {
|
|
|
38
38
|
readonly passive?: boolean;
|
|
39
39
|
readonly preventDefault?: boolean;
|
|
40
40
|
readonly stopPropagation?: boolean;
|
|
41
|
+
readonly trackPointerEvents?: readonly (string | number)[];
|
|
41
42
|
}
|
|
42
43
|
export interface VirtualDomViewInstance {
|
|
43
44
|
readonly dispose?: () => unknown;
|
|
@@ -39,6 +39,11 @@ const assertEventListener = (viewId, listener, index) => {
|
|
|
39
39
|
assertBoolean(eventListener.passive, `view ${viewId} event listener ${index} has invalid passive`);
|
|
40
40
|
assertBoolean(eventListener.preventDefault, `view ${viewId} event listener ${index} has invalid preventDefault`);
|
|
41
41
|
assertBoolean(eventListener.stopPropagation, `view ${viewId} event listener ${index} has invalid stopPropagation`);
|
|
42
|
+
if (eventListener.trackPointerEvents !== undefined &&
|
|
43
|
+
(!Array.isArray(eventListener.trackPointerEvents) ||
|
|
44
|
+
eventListener.trackPointerEvents.some((event) => typeof event !== 'string' && typeof event !== 'number'))) {
|
|
45
|
+
throw new ExtensionApiError(`view ${viewId} event listener ${index} has invalid trackPointerEvents`);
|
|
46
|
+
}
|
|
42
47
|
};
|
|
43
48
|
const assertEventListeners = (view) => {
|
|
44
49
|
if (view.eventListeners === undefined) {
|