@lvce-editor/api 8.61.0 → 8.63.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.
- package/dist/index.d.ts +2 -2
- package/dist/index.js +2 -2
- package/dist/parts/CommandMap/CommandMap.d.ts +3 -0
- package/dist/parts/ExtensionApiCommandMap/ExtensionApiCommandMap.d.ts +3 -0
- package/dist/parts/ExtensionApiCommandMap/ExtensionApiCommandMap.js +4 -1
- package/dist/parts/ExtensionApiWorkerCommandMap/ExtensionApiWorkerCommandMap.d.ts +3 -0
- package/dist/parts/FileSystemProvider/FileSystemProvider.d.ts +4 -0
- package/dist/parts/FileSystemProviderRegistry/FileSystemProviderRegistry.d.ts +4 -0
- package/dist/parts/FileSystemProviderRegistry/FileSystemProviderRegistry.js +26 -0
- package/dist/parts/Host/Host.d.ts +2 -0
- package/dist/parts/Host/Host.js +3 -0
- package/dist/parts/RegisteredFileSystemProvider/RegisteredFileSystemProvider.d.ts +4 -0
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -9,8 +9,8 @@ export { executeCompletionProvider, executeResolveCompletionItemProvider, getCom
|
|
|
9
9
|
export { executeDiagnosticProvider, getDiagnosticProviderRegistrySnapshot, registerDiagnosticProvider, resetDiagnosticProviderRegistry, } from './parts/Diagnostic/Diagnostic.ts';
|
|
10
10
|
export { executeFormattingProvider, getFormattingProviderRegistrySnapshot, registerFormattingProvider, resetFormattingProviderRegistry, } from './parts/Formatting/Formatting.ts';
|
|
11
11
|
export { exists, mkdir, readDirWithFileTypes, readFile, remove, stat, writeFile } from './parts/FileSystem/FileSystem.ts';
|
|
12
|
-
export { executeFileSystemProviderReadFile, getFileSystemProviderRegistrySnapshot, registerFileSystemProvider, resetFileSystemProviderRegistry, } from './parts/FileSystemProviderRegistry/FileSystemProviderRegistry.ts';
|
|
13
|
-
export { confirm, getWorkspaceFolder, getWorkspaceUri, handleWorkspaceRefresh, openUri } from './parts/Host/Host.ts';
|
|
12
|
+
export { executeFileSystemProviderGetPathSeparator, executeFileSystemProviderIsReadonly, executeFileSystemProviderReadDirWithFileTypes, executeFileSystemProviderReadFile, getFileSystemProviderRegistrySnapshot, registerFileSystemProvider, resetFileSystemProviderRegistry, } from './parts/FileSystemProviderRegistry/FileSystemProviderRegistry.ts';
|
|
13
|
+
export { confirm, getWorkspaceFolder, getWorkspaceUri, handleWorkspaceRefresh, openUri, showNotification, type NotificationType, } from './parts/Host/Host.ts';
|
|
14
14
|
export { executeHoverProvider, getHoverProviderRegistrySnapshot, registerHoverProvider, resetHoverProviderRegistry } from './parts/Hover/Hover.ts';
|
|
15
15
|
export { getPlatform, type Platform } from './parts/Platform/Platform.ts';
|
|
16
16
|
export { getLanguageServerRegistrySnapshot, registerLanguageServer, resetLanguageServerRegistry } from './parts/LanguageServer/LanguageServer.ts';
|
package/dist/index.js
CHANGED
|
@@ -9,8 +9,8 @@ export { executeCompletionProvider, executeResolveCompletionItemProvider, getCom
|
|
|
9
9
|
export { executeDiagnosticProvider, getDiagnosticProviderRegistrySnapshot, registerDiagnosticProvider, resetDiagnosticProviderRegistry, } from "./parts/Diagnostic/Diagnostic.js";
|
|
10
10
|
export { executeFormattingProvider, getFormattingProviderRegistrySnapshot, registerFormattingProvider, resetFormattingProviderRegistry, } from "./parts/Formatting/Formatting.js";
|
|
11
11
|
export { exists, mkdir, readDirWithFileTypes, readFile, remove, stat, writeFile } from "./parts/FileSystem/FileSystem.js";
|
|
12
|
-
export { executeFileSystemProviderReadFile, getFileSystemProviderRegistrySnapshot, registerFileSystemProvider, resetFileSystemProviderRegistry, } from "./parts/FileSystemProviderRegistry/FileSystemProviderRegistry.js";
|
|
13
|
-
export { confirm, getWorkspaceFolder, getWorkspaceUri, handleWorkspaceRefresh, openUri } from "./parts/Host/Host.js";
|
|
12
|
+
export { executeFileSystemProviderGetPathSeparator, executeFileSystemProviderIsReadonly, executeFileSystemProviderReadDirWithFileTypes, executeFileSystemProviderReadFile, getFileSystemProviderRegistrySnapshot, registerFileSystemProvider, resetFileSystemProviderRegistry, } from "./parts/FileSystemProviderRegistry/FileSystemProviderRegistry.js";
|
|
13
|
+
export { confirm, getWorkspaceFolder, getWorkspaceUri, handleWorkspaceRefresh, openUri, showNotification, } from "./parts/Host/Host.js";
|
|
14
14
|
export { executeHoverProvider, getHoverProviderRegistrySnapshot, registerHoverProvider, resetHoverProviderRegistry } from "./parts/Hover/Hover.js";
|
|
15
15
|
export { getPlatform } from "./parts/Platform/Platform.js";
|
|
16
16
|
export { getLanguageServerRegistrySnapshot, registerLanguageServer, resetLanguageServerRegistry } from "./parts/LanguageServer/LanguageServer.js";
|
|
@@ -6,6 +6,9 @@ export declare const commandMap: {
|
|
|
6
6
|
'ExtensionApi.executeCommand': (id: string, ...args: readonly unknown[]) => Promise<unknown>;
|
|
7
7
|
'ExtensionApi.executeCompletionProvider': (textDocument: import("../CompletionTextDocument/CompletionTextDocument.ts").TextDocument, offset: number, ...args: readonly unknown[]) => Promise<readonly import("../CompletionItem/CompletionItem.ts").CompletionItem[]>;
|
|
8
8
|
'ExtensionApi.executeDiagnosticProvider': (textDocument: import("../DiagnosticTextDocument/DiagnosticTextDocument.ts").TextDocument, ...args: readonly unknown[]) => Promise<readonly import("../DiagnosticResult/DiagnosticResult.ts").Diagnostic[]>;
|
|
9
|
+
'ExtensionApi.executeFileSystemProviderGetPathSeparator': (id: string) => string;
|
|
10
|
+
'ExtensionApi.executeFileSystemProviderIsReadonly': (id: string) => Promise<boolean>;
|
|
11
|
+
'ExtensionApi.executeFileSystemProviderReadDirWithFileTypes': (id: string, uri: string) => Promise<readonly import("../FileSystemDirent/FileSystemDirent.ts").FileSystemDirent[]>;
|
|
9
12
|
'ExtensionApi.executeFileSystemProviderReadFile': (id: string, uri: string) => Promise<string>;
|
|
10
13
|
'ExtensionApi.executeFormattingProvider': (textDocument: import("../FormattingTextDocument/FormattingTextDocument.ts").TextDocument, ...args: readonly unknown[]) => Promise<readonly import("../FormattingEdit/FormattingEdit.ts").FormattingEdit[]>;
|
|
11
14
|
'ExtensionApi.executeHoverProvider': (textDocument: import("../HoverTextDocument/HoverTextDocument.ts").TextDocument, offset: number, ...args: readonly unknown[]) => Promise<import("../HoverResult/HoverResult.ts").HoverResult | undefined>;
|
|
@@ -5,6 +5,9 @@ export declare const commandMap: {
|
|
|
5
5
|
'ExtensionApi.executeCommand': (id: string, ...args: readonly unknown[]) => Promise<unknown>;
|
|
6
6
|
'ExtensionApi.executeCompletionProvider': (textDocument: import("../CompletionTextDocument/CompletionTextDocument.ts").TextDocument, offset: number, ...args: readonly unknown[]) => Promise<readonly import("../CompletionItem/CompletionItem.ts").CompletionItem[]>;
|
|
7
7
|
'ExtensionApi.executeDiagnosticProvider': (textDocument: import("../DiagnosticTextDocument/DiagnosticTextDocument.ts").TextDocument, ...args: readonly unknown[]) => Promise<readonly import("../DiagnosticResult/DiagnosticResult.ts").Diagnostic[]>;
|
|
8
|
+
'ExtensionApi.executeFileSystemProviderGetPathSeparator': (id: string) => string;
|
|
9
|
+
'ExtensionApi.executeFileSystemProviderIsReadonly': (id: string) => Promise<boolean>;
|
|
10
|
+
'ExtensionApi.executeFileSystemProviderReadDirWithFileTypes': (id: string, uri: string) => Promise<readonly import("../FileSystemDirent/FileSystemDirent.ts").FileSystemDirent[]>;
|
|
8
11
|
'ExtensionApi.executeFileSystemProviderReadFile': (id: string, uri: string) => Promise<string>;
|
|
9
12
|
'ExtensionApi.executeFormattingProvider': (textDocument: import("../FormattingTextDocument/FormattingTextDocument.ts").TextDocument, ...args: readonly unknown[]) => Promise<readonly import("../FormattingEdit/FormattingEdit.ts").FormattingEdit[]>;
|
|
10
13
|
'ExtensionApi.executeHoverProvider': (textDocument: import("../HoverTextDocument/HoverTextDocument.ts").TextDocument, offset: number, ...args: readonly unknown[]) => Promise<import("../HoverResult/HoverResult.ts").HoverResult | undefined>;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { executeCommand, getCommandRegistrySnapshot } from "../CommandRegistry/CommandRegistry.js";
|
|
2
2
|
import { executeCompletionProvider, executeResolveCompletionItemProvider, getCompletionProviderRegistrySnapshot } from "../Completion/Completion.js";
|
|
3
3
|
import { executeDiagnosticProvider, getDiagnosticProviderRegistrySnapshot } from "../Diagnostic/Diagnostic.js";
|
|
4
|
-
import { executeFileSystemProviderReadFile, getFileSystemProviderRegistrySnapshot } from "../FileSystemProviderRegistry/FileSystemProviderRegistry.js";
|
|
4
|
+
import { executeFileSystemProviderGetPathSeparator, executeFileSystemProviderIsReadonly, executeFileSystemProviderReadDirWithFileTypes, executeFileSystemProviderReadFile, getFileSystemProviderRegistrySnapshot, } from "../FileSystemProviderRegistry/FileSystemProviderRegistry.js";
|
|
5
5
|
import { executeFormattingProvider, getFormattingProviderRegistrySnapshot } from "../Formatting/Formatting.js";
|
|
6
6
|
import { getStatusBarItems } from "../GetStatusBarItems/GetStatusBarItems.js";
|
|
7
7
|
import { executeHoverProvider, getHoverProviderRegistrySnapshot } from "../Hover/Hover.js";
|
|
@@ -17,6 +17,9 @@ export const commandMap = {
|
|
|
17
17
|
'ExtensionApi.executeCommand': executeCommand,
|
|
18
18
|
'ExtensionApi.executeCompletionProvider': executeCompletionProvider,
|
|
19
19
|
'ExtensionApi.executeDiagnosticProvider': executeDiagnosticProvider,
|
|
20
|
+
'ExtensionApi.executeFileSystemProviderGetPathSeparator': executeFileSystemProviderGetPathSeparator,
|
|
21
|
+
'ExtensionApi.executeFileSystemProviderIsReadonly': executeFileSystemProviderIsReadonly,
|
|
22
|
+
'ExtensionApi.executeFileSystemProviderReadDirWithFileTypes': executeFileSystemProviderReadDirWithFileTypes,
|
|
20
23
|
'ExtensionApi.executeFileSystemProviderReadFile': executeFileSystemProviderReadFile,
|
|
21
24
|
'ExtensionApi.executeFormattingProvider': executeFormattingProvider,
|
|
22
25
|
'ExtensionApi.executeHoverProvider': executeHoverProvider,
|
|
@@ -7,6 +7,9 @@ export declare const commandMap: {
|
|
|
7
7
|
'ExtensionApi.executeCommand': (id: string, ...args: readonly unknown[]) => Promise<unknown>;
|
|
8
8
|
'ExtensionApi.executeCompletionProvider': (textDocument: import("../CompletionTextDocument/CompletionTextDocument.ts").TextDocument, offset: number, ...args: readonly unknown[]) => Promise<readonly import("../CompletionItem/CompletionItem.ts").CompletionItem[]>;
|
|
9
9
|
'ExtensionApi.executeDiagnosticProvider': (textDocument: import("../DiagnosticTextDocument/DiagnosticTextDocument.ts").TextDocument, ...args: readonly unknown[]) => Promise<readonly import("../DiagnosticResult/DiagnosticResult.ts").Diagnostic[]>;
|
|
10
|
+
'ExtensionApi.executeFileSystemProviderGetPathSeparator': (id: string) => string;
|
|
11
|
+
'ExtensionApi.executeFileSystemProviderIsReadonly': (id: string) => Promise<boolean>;
|
|
12
|
+
'ExtensionApi.executeFileSystemProviderReadDirWithFileTypes': (id: string, uri: string) => Promise<readonly import("../FileSystemDirent/FileSystemDirent.ts").FileSystemDirent[]>;
|
|
10
13
|
'ExtensionApi.executeFileSystemProviderReadFile': (id: string, uri: string) => Promise<string>;
|
|
11
14
|
'ExtensionApi.executeFormattingProvider': (textDocument: import("../FormattingTextDocument/FormattingTextDocument.ts").TextDocument, ...args: readonly unknown[]) => Promise<readonly import("../FormattingEdit/FormattingEdit.ts").FormattingEdit[]>;
|
|
12
15
|
'ExtensionApi.executeHoverProvider': (textDocument: import("../HoverTextDocument/HoverTextDocument.ts").TextDocument, offset: number, ...args: readonly unknown[]) => Promise<import("../HoverResult/HoverResult.ts").HoverResult | undefined>;
|
|
@@ -1,4 +1,8 @@
|
|
|
1
|
+
import type { FileSystemDirent } from '../FileSystemDirent/FileSystemDirent.ts';
|
|
1
2
|
export interface FileSystemProvider {
|
|
2
3
|
readonly id: string;
|
|
4
|
+
readonly isReadonly?: () => boolean | Promise<boolean>;
|
|
5
|
+
readonly pathSeparator?: string;
|
|
6
|
+
readonly readDirWithFileTypes?: (uri: string) => readonly FileSystemDirent[] | Promise<readonly FileSystemDirent[]>;
|
|
3
7
|
readonly readFile: (uri: string) => string | Promise<string>;
|
|
4
8
|
}
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
import type { Disposable } from '../Disposable/Disposable.ts';
|
|
2
|
+
import type { FileSystemDirent } from '../FileSystemDirent/FileSystemDirent.ts';
|
|
2
3
|
import type { FileSystemProvider } from '../FileSystemProvider/FileSystemProvider.ts';
|
|
3
4
|
import type { FileSystemProviderRegistrySnapshot } from '../FileSystemProviderRegistrySnapshot/FileSystemProviderRegistrySnapshot.ts';
|
|
4
5
|
export declare const executeFileSystemProviderReadFile: (id: string, uri: string) => Promise<string>;
|
|
6
|
+
export declare const executeFileSystemProviderReadDirWithFileTypes: (id: string, uri: string) => Promise<readonly FileSystemDirent[]>;
|
|
7
|
+
export declare const executeFileSystemProviderGetPathSeparator: (id: string) => string;
|
|
8
|
+
export declare const executeFileSystemProviderIsReadonly: (id: string) => Promise<boolean>;
|
|
5
9
|
export declare const getFileSystemProviderRegistrySnapshot: () => FileSystemProviderRegistrySnapshot;
|
|
6
10
|
export declare const registerFileSystemProvider: (provider: FileSystemProvider) => Disposable;
|
|
7
11
|
export declare const resetFileSystemProviderRegistry: () => void;
|
|
@@ -10,6 +10,15 @@ const assertFileSystemProvider = (provider) => {
|
|
|
10
10
|
if (typeof provider.readFile !== 'function') {
|
|
11
11
|
throw new ExtensionApiError(`file system provider ${provider.id} is missing readFile function`);
|
|
12
12
|
}
|
|
13
|
+
if (provider.readDirWithFileTypes !== undefined && typeof provider.readDirWithFileTypes !== 'function') {
|
|
14
|
+
throw new ExtensionApiError(`file system provider ${provider.id} has invalid readDirWithFileTypes function`);
|
|
15
|
+
}
|
|
16
|
+
if (provider.isReadonly !== undefined && typeof provider.isReadonly !== 'function') {
|
|
17
|
+
throw new ExtensionApiError(`file system provider ${provider.id} has invalid isReadonly function`);
|
|
18
|
+
}
|
|
19
|
+
if (provider.pathSeparator !== undefined && typeof provider.pathSeparator !== 'string') {
|
|
20
|
+
throw new ExtensionApiError(`file system provider ${provider.id} has invalid pathSeparator`);
|
|
21
|
+
}
|
|
13
22
|
if (provider.id in providers) {
|
|
14
23
|
throw new ExtensionApiError(`file system provider ${provider.id} is already registered`);
|
|
15
24
|
}
|
|
@@ -24,6 +33,20 @@ const getProvider = (id) => {
|
|
|
24
33
|
export const executeFileSystemProviderReadFile = async (id, uri) => {
|
|
25
34
|
return getProvider(id).readFile(uri);
|
|
26
35
|
};
|
|
36
|
+
export const executeFileSystemProviderReadDirWithFileTypes = async (id, uri) => {
|
|
37
|
+
const provider = getProvider(id);
|
|
38
|
+
if (!provider.readDirWithFileTypes) {
|
|
39
|
+
throw new ExtensionApiError(`file system provider ${id} is missing readDirWithFileTypes function`);
|
|
40
|
+
}
|
|
41
|
+
return provider.readDirWithFileTypes(uri);
|
|
42
|
+
};
|
|
43
|
+
export const executeFileSystemProviderGetPathSeparator = (id) => {
|
|
44
|
+
return getProvider(id).pathSeparator || '/';
|
|
45
|
+
};
|
|
46
|
+
export const executeFileSystemProviderIsReadonly = async (id) => {
|
|
47
|
+
const provider = getProvider(id);
|
|
48
|
+
return provider.isReadonly ? provider.isReadonly() : false;
|
|
49
|
+
};
|
|
27
50
|
export const getFileSystemProviderRegistrySnapshot = () => {
|
|
28
51
|
return {
|
|
29
52
|
providers: Object.values(providers).map((provider) => ({
|
|
@@ -35,6 +58,9 @@ export const registerFileSystemProvider = (provider) => {
|
|
|
35
58
|
assertFileSystemProvider(provider);
|
|
36
59
|
providers[provider.id] = {
|
|
37
60
|
id: provider.id,
|
|
61
|
+
isReadonly: provider.isReadonly,
|
|
62
|
+
pathSeparator: provider.pathSeparator,
|
|
63
|
+
readDirWithFileTypes: provider.readDirWithFileTypes,
|
|
38
64
|
readFile: (uri) => provider.readFile(uri),
|
|
39
65
|
};
|
|
40
66
|
return {
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
+
export type NotificationType = 'error' | 'info' | 'warning';
|
|
1
2
|
export declare const confirm: (message: string) => Promise<boolean>;
|
|
2
3
|
export declare const getWorkspaceFolder: () => Promise<string>;
|
|
3
4
|
export declare const getWorkspaceUri: () => Promise<string>;
|
|
4
5
|
export declare const handleWorkspaceRefresh: () => Promise<void>;
|
|
5
6
|
export declare const openUri: (uri: string) => Promise<void>;
|
|
7
|
+
export declare const showNotification: (type: NotificationType, message: string) => Promise<void>;
|
package/dist/parts/Host/Host.js
CHANGED
|
@@ -14,3 +14,6 @@ export const handleWorkspaceRefresh = async () => {
|
|
|
14
14
|
export const openUri = async (uri) => {
|
|
15
15
|
await executeCommand('Main.openUri', uri);
|
|
16
16
|
};
|
|
17
|
+
export const showNotification = async (type, message) => {
|
|
18
|
+
await executeCommand('Notification.create', type, message);
|
|
19
|
+
};
|
|
@@ -1,4 +1,8 @@
|
|
|
1
|
+
import type { FileSystemDirent } from '../FileSystemDirent/FileSystemDirent.ts';
|
|
1
2
|
export interface RegisteredFileSystemProvider {
|
|
2
3
|
readonly id: string;
|
|
4
|
+
readonly isReadonly?: () => boolean | Promise<boolean>;
|
|
5
|
+
readonly pathSeparator?: string;
|
|
6
|
+
readonly readDirWithFileTypes?: (uri: string) => readonly FileSystemDirent[] | Promise<readonly FileSystemDirent[]>;
|
|
3
7
|
readonly readFile: (uri: string) => string | Promise<string>;
|
|
4
8
|
}
|