@codingame/monaco-vscode-api 5.1.2 → 5.2.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/extensions.d.ts +1 -0
- package/extensions.js +7 -18
- package/package.json +8 -8
- package/service-override/files.d.ts +83 -33
package/extensions.d.ts
CHANGED
|
@@ -100,6 +100,7 @@ export { IExtensionContributions } from './vscode/src/vs/platform/extensions/com
|
|
|
100
100
|
import { IDisposable } from './vscode/src/vs/base/common/lifecycle.js';
|
|
101
101
|
export { ITranslations } from './vscode/src/vs/platform/extensionManagement/common/extensionNls.js';
|
|
102
102
|
import { ExtensionHostKind } from './vscode/src/vs/workbench/services/extensions/common/extensionHostKind.js';
|
|
103
|
+
export { ExtensionFileMetadata } from './service-override/files.js';
|
|
103
104
|
|
|
104
105
|
type ApiFactory = (extensionId?: string) => Promise<typeof vscode>;
|
|
105
106
|
declare function registerLocalApiFactory(_apiFactory: ApiFactory): void;
|
package/extensions.js
CHANGED
|
@@ -13,31 +13,20 @@ import { IWorkbenchExtensionEnablementService } from './vscode/src/vs/workbench/
|
|
|
13
13
|
import { StandaloneServices } from './vscode/src/vs/editor/standalone/browser/standaloneServices.js';
|
|
14
14
|
import { ExtensionManifestTranslator } from './vscode/src/vs/platform/extensionManagement/common/extensionsScannerService.js';
|
|
15
15
|
import { language } from './vscode/src/vs/base/common/platform.js';
|
|
16
|
-
import { CustomSchemas, registerExtensionFile } from '@codingame/monaco-vscode-files-service-override';
|
|
16
|
+
import { CustomSchemas, registerExtensionFile, RegisteredUriFile } from '@codingame/monaco-vscode-files-service-override';
|
|
17
17
|
import { waitServicesReady } from './lifecycle.js';
|
|
18
|
-
import { throttle
|
|
18
|
+
import { throttle } from './tools.js';
|
|
19
19
|
import { setDefaultApi } from './api.js';
|
|
20
20
|
import { getBuiltInExtensionTranslationsUris } from './l10n.js';
|
|
21
21
|
let apiFactory;
|
|
22
22
|
function registerLocalApiFactory(_apiFactory) {
|
|
23
23
|
apiFactory = _apiFactory;
|
|
24
24
|
}
|
|
25
|
-
function registerExtensionFileUrl(extensionLocation, filePath, url,
|
|
25
|
+
function registerExtensionFileUrl(extensionLocation, filePath, url, metadataOrMimeType) {
|
|
26
26
|
const fileDisposable = new DisposableStore();
|
|
27
27
|
fileDisposable.add(FileAccess.registerStaticBrowserUri(joinPath(extensionLocation, filePath), ( URI.parse(url))));
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
headers: mimeType != null
|
|
31
|
-
? {
|
|
32
|
-
Accept: mimeType
|
|
33
|
-
}
|
|
34
|
-
: {}
|
|
35
|
-
});
|
|
36
|
-
if (response.status !== 200) {
|
|
37
|
-
throw new Error(response.statusText);
|
|
38
|
-
}
|
|
39
|
-
return new Uint8Array(await response.arrayBuffer());
|
|
40
|
-
})));
|
|
28
|
+
const metadata = typeof metadataOrMimeType === 'string' ? { mimeType: metadataOrMimeType } : metadataOrMimeType;
|
|
29
|
+
fileDisposable.add(registerExtensionFile(new RegisteredUriFile(joinPath(extensionLocation, filePath), url, metadata)));
|
|
41
30
|
return fileDisposable;
|
|
42
31
|
}
|
|
43
32
|
const deltaExtensions = throttle(async ({ toAdd, toRemove }) => {
|
|
@@ -129,8 +118,8 @@ function registerExtension(manifest, extHostKind, { path = '/', system = false,
|
|
|
129
118
|
}
|
|
130
119
|
};
|
|
131
120
|
if (extHostKind !== 3 ) {
|
|
132
|
-
function registerFileUrl(path, url,
|
|
133
|
-
return registerExtensionFileUrl(location, path, url,
|
|
121
|
+
function registerFileUrl(path, url, metadataOrMimeType) {
|
|
122
|
+
return registerExtensionFileUrl(location, path, url, metadataOrMimeType);
|
|
134
123
|
}
|
|
135
124
|
api = {
|
|
136
125
|
...api,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@codingame/monaco-vscode-api",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.2.0",
|
|
4
4
|
"description": "VSCode public API plugged on the monaco editor",
|
|
5
5
|
"keywords": [],
|
|
6
6
|
"author": {
|
|
@@ -99,12 +99,12 @@
|
|
|
99
99
|
"dependencies": {
|
|
100
100
|
"@vscode/iconv-lite-umd": "0.7.0",
|
|
101
101
|
"jschardet": "3.0.0",
|
|
102
|
-
"@codingame/monaco-vscode-quickaccess-service-override": "5.
|
|
103
|
-
"@codingame/monaco-vscode-files-service-override": "5.
|
|
104
|
-
"@codingame/monaco-vscode-extensions-service-override": "5.
|
|
105
|
-
"@codingame/monaco-vscode-environment-service-override": "5.
|
|
106
|
-
"@codingame/monaco-vscode-layout-service-override": "5.
|
|
107
|
-
"@codingame/monaco-vscode-host-service-override": "5.
|
|
108
|
-
"@codingame/monaco-vscode-base-service-override": "5.
|
|
102
|
+
"@codingame/monaco-vscode-quickaccess-service-override": "5.2.0",
|
|
103
|
+
"@codingame/monaco-vscode-files-service-override": "5.2.0",
|
|
104
|
+
"@codingame/monaco-vscode-extensions-service-override": "5.2.0",
|
|
105
|
+
"@codingame/monaco-vscode-environment-service-override": "5.2.0",
|
|
106
|
+
"@codingame/monaco-vscode-layout-service-override": "5.2.0",
|
|
107
|
+
"@codingame/monaco-vscode-host-service-override": "5.2.0",
|
|
108
|
+
"@codingame/monaco-vscode-base-service-override": "5.2.0"
|
|
109
109
|
}
|
|
110
110
|
}
|
|
@@ -1,72 +1,120 @@
|
|
|
1
1
|
import { IEditorOverrideServices } from '../vscode/src/vs/editor/standalone/browser/standaloneServices.js';
|
|
2
2
|
export { InMemoryFileSystemProvider } from '../vscode/src/vs/platform/files/common/inMemoryFilesystemProvider.js';
|
|
3
3
|
import { URI } from '../vscode/src/vs/base/common/uri.js';
|
|
4
|
-
import { FileType, IStat, IFileSystemProviderWithFileReadWriteCapability, IFileChange,
|
|
4
|
+
import { FileType, IStat, IFileSystemProviderWithFileReadWriteCapability, IFileSystemProviderWithOpenReadWriteCloseCapability, IFileSystemProviderWithFileReadStreamCapability, IFileSystemProviderWithFileAtomicReadCapability, IFileSystemProviderWithFileAtomicWriteCapability, IFileSystemProviderWithFileAtomicDeleteCapability, IFileChange, IFileReadStreamOptions, IFileWriteOptions, IWatchOptions, IFileDeleteOptions, IFileOverwriteOptions, IFileSystemProvider, FileSystemProviderCapabilities, FileChangeType } from '../vscode/src/vs/platform/files/common/files.js';
|
|
5
5
|
export { FilePermission, FileSystemProviderError, FileSystemProviderErrorCode } from '../vscode/src/vs/platform/files/common/files.js';
|
|
6
6
|
import { Disposable, IDisposable } from '../vscode/src/vs/base/common/lifecycle.js';
|
|
7
7
|
import { Emitter, Event } from '../vscode/src/vs/base/common/event.js';
|
|
8
8
|
export { HTMLFileSystemProvider } from '../vscode/src/vs/platform/files/browser/htmlFileSystemProvider.js';
|
|
9
9
|
import { IndexedDBFileSystemProvider } from '../vscode/src/vs/platform/files/browser/indexedDBFileSystemProvider.js';
|
|
10
10
|
export { IndexedDB } from '../vscode/src/vs/base/browser/indexedDB.js';
|
|
11
|
+
import { ReadableStreamEvents } from '../vscode/src/vs/base/common/stream.js';
|
|
12
|
+
import { CancellationToken } from '../vscode/src/vs/base/common/cancellation.js';
|
|
11
13
|
|
|
12
|
-
|
|
14
|
+
interface _RegisteredNode {
|
|
15
|
+
type: FileType;
|
|
16
|
+
stats(): Promise<IStat>;
|
|
17
|
+
onDidDelete: Event<void>;
|
|
18
|
+
onDidChange: Event<void>;
|
|
19
|
+
}
|
|
20
|
+
interface RegisteredFileNode extends _RegisteredNode {
|
|
21
|
+
type: FileType.File;
|
|
22
|
+
uri: URI;
|
|
23
|
+
read(): Promise<Uint8Array>;
|
|
24
|
+
readStream?(): Promise<ReadableStream<Uint8Array>>;
|
|
25
|
+
write(content: Uint8Array): Promise<void>;
|
|
26
|
+
delete(): void;
|
|
27
|
+
}
|
|
28
|
+
interface RegisteredDirectoryNode extends _RegisteredNode {
|
|
29
|
+
type: FileType.Directory;
|
|
30
|
+
addChild(name: string, node: RegisteredNode): IDisposable;
|
|
31
|
+
deleteChild(name: string): boolean;
|
|
32
|
+
getChildren(name: string): RegisteredNode | undefined;
|
|
33
|
+
read(): [string, FileType][];
|
|
34
|
+
}
|
|
35
|
+
type RegisteredNode = RegisteredFileNode | RegisteredDirectoryNode;
|
|
36
|
+
declare abstract class RegisteredFile implements RegisteredFileNode {
|
|
13
37
|
uri: URI;
|
|
14
38
|
private readonly;
|
|
15
39
|
protected ctime: number;
|
|
16
40
|
protected mtime: number;
|
|
17
|
-
readonly type
|
|
41
|
+
readonly type = FileType.File;
|
|
18
42
|
protected _onDidChange: Emitter<void>;
|
|
19
43
|
onDidChange: Event<void>;
|
|
20
44
|
protected _onDidDelete: Emitter<void>;
|
|
21
45
|
onDidDelete: Event<void>;
|
|
22
|
-
protected _onDidRename: Emitter<{
|
|
23
|
-
from: URI;
|
|
24
|
-
to: URI;
|
|
25
|
-
}>;
|
|
26
|
-
onDidRename: Event<{
|
|
27
|
-
from: URI;
|
|
28
|
-
to: URI;
|
|
29
|
-
}>;
|
|
30
46
|
constructor(uri: URI, readonly: boolean);
|
|
31
47
|
stats(): Promise<IStat>;
|
|
32
|
-
getSize(): Promise<number>;
|
|
33
|
-
abstract read(): Promise<string | Uint8Array>;
|
|
34
|
-
abstract write(content: string): Promise<void>;
|
|
48
|
+
abstract getSize(): Promise<number>;
|
|
35
49
|
delete(): Promise<void>;
|
|
36
|
-
|
|
50
|
+
abstract read(): Promise<Uint8Array>;
|
|
51
|
+
abstract write(content: Uint8Array): Promise<void>;
|
|
37
52
|
}
|
|
38
53
|
declare class RegisteredReadOnlyFile extends RegisteredFile {
|
|
39
|
-
read: () => Promise<
|
|
40
|
-
|
|
54
|
+
read: () => Promise<Uint8Array>;
|
|
55
|
+
private size;
|
|
56
|
+
constructor(uri: URI, read: () => Promise<Uint8Array>, size: number);
|
|
57
|
+
getSize(): Promise<number>;
|
|
58
|
+
write(): Promise<void>;
|
|
59
|
+
delete(): Promise<void>;
|
|
60
|
+
}
|
|
61
|
+
interface ExtensionFileMetadata {
|
|
62
|
+
mimeType?: string;
|
|
63
|
+
size?: number;
|
|
64
|
+
}
|
|
65
|
+
declare class RegisteredUriFile extends RegisteredFile {
|
|
66
|
+
private url;
|
|
67
|
+
private metadata?;
|
|
68
|
+
constructor(location: URI, url: string, metadata?: ExtensionFileMetadata | undefined);
|
|
69
|
+
private fetch;
|
|
70
|
+
getSize(): Promise<number>;
|
|
71
|
+
read(): Promise<Uint8Array>;
|
|
72
|
+
readStream(): Promise<ReadableStream<Uint8Array>>;
|
|
41
73
|
write(): Promise<void>;
|
|
42
74
|
delete(): Promise<void>;
|
|
43
|
-
rename(): Promise<void>;
|
|
44
75
|
}
|
|
45
76
|
declare class RegisteredMemoryFile extends RegisteredFile {
|
|
46
77
|
private content;
|
|
47
|
-
constructor(uri: URI, content: string);
|
|
48
|
-
|
|
49
|
-
|
|
78
|
+
constructor(uri: URI, content: string | Uint8Array);
|
|
79
|
+
getSize(): Promise<number>;
|
|
80
|
+
read(): Promise<Uint8Array>;
|
|
81
|
+
write(content: Uint8Array): Promise<void>;
|
|
50
82
|
}
|
|
51
|
-
declare class RegisteredFileSystemProvider extends Disposable implements IFileSystemProviderWithFileReadWriteCapability {
|
|
52
|
-
private
|
|
53
|
-
|
|
54
|
-
|
|
83
|
+
declare class RegisteredFileSystemProvider extends Disposable implements IFileSystemProviderWithFileReadWriteCapability, IFileSystemProviderWithOpenReadWriteCloseCapability, IFileSystemProviderWithFileReadStreamCapability, IFileSystemProviderWithFileAtomicReadCapability, IFileSystemProviderWithFileAtomicWriteCapability, IFileSystemProviderWithFileAtomicDeleteCapability {
|
|
84
|
+
private memoryFdCounter;
|
|
85
|
+
private readonly fdMemory;
|
|
86
|
+
private rootByAuthority;
|
|
55
87
|
onDidChangeCapabilities: Event<any>;
|
|
56
88
|
_onDidChangeFile: Emitter<readonly IFileChange[]>;
|
|
57
89
|
onDidChangeFile: Event<readonly IFileChange[]>;
|
|
58
|
-
|
|
59
|
-
|
|
90
|
+
capabilities: number;
|
|
91
|
+
constructor(readonly: boolean);
|
|
92
|
+
open(resource: URI): Promise<number>;
|
|
93
|
+
close(fd: number): Promise<void>;
|
|
94
|
+
read(fd: number, pos: number, data: Uint8Array, offset: number, length: number): Promise<number>;
|
|
95
|
+
write(fd: number, pos: number, data: Uint8Array, offset: number, length: number): Promise<number>;
|
|
96
|
+
private _lookupRoot;
|
|
97
|
+
private _lookup;
|
|
98
|
+
private _lookupAsDirectory;
|
|
99
|
+
private _lookupAsFile;
|
|
100
|
+
registerFile(file: RegisteredFileNode): IDisposable;
|
|
60
101
|
stat(resource: URI): Promise<IStat>;
|
|
102
|
+
readdirSync(resource: URI): [string, FileType][];
|
|
61
103
|
readdir(resource: URI): Promise<[string, FileType][]>;
|
|
62
104
|
readFile(resource: URI): Promise<Uint8Array>;
|
|
105
|
+
readFileStream(resource: URI, opts: IFileReadStreamOptions, token: CancellationToken): ReadableStreamEvents<Uint8Array>;
|
|
63
106
|
watch(): IDisposable;
|
|
64
|
-
writeFile(resource: URI, content: Uint8Array): Promise<void>;
|
|
107
|
+
writeFile(resource: URI, content: Uint8Array, opts: IFileWriteOptions): Promise<void>;
|
|
108
|
+
rename(): Promise<void>;
|
|
109
|
+
mkdirSync(resource: URI): RegisteredDirectoryNode;
|
|
110
|
+
mkdir(): Promise<void>;
|
|
111
|
+
private deleteSync;
|
|
65
112
|
delete(resource: URI): Promise<void>;
|
|
66
|
-
|
|
67
|
-
|
|
113
|
+
private _bufferedChanges;
|
|
114
|
+
private _fireSoonHandle?;
|
|
115
|
+
private _fireSoon;
|
|
68
116
|
}
|
|
69
|
-
declare class OverlayFileSystemProvider implements IFileSystemProviderWithFileReadWriteCapability {
|
|
117
|
+
declare class OverlayFileSystemProvider implements IFileSystemProviderWithFileReadWriteCapability, IFileSystemProviderWithFileReadStreamCapability, IFileSystemProviderWithFileAtomicReadCapability, IFileSystemProviderWithFileAtomicWriteCapability, IFileSystemProviderWithFileAtomicDeleteCapability {
|
|
70
118
|
private providers;
|
|
71
119
|
register(priority: number, provider: IFileSystemProviderWithFileReadWriteCapability): IDisposable;
|
|
72
120
|
get delegates(): IFileSystemProviderWithFileReadWriteCapability[];
|
|
@@ -77,9 +125,11 @@ declare class OverlayFileSystemProvider implements IFileSystemProviderWithFileRe
|
|
|
77
125
|
onDidChangeOverlays: Event<void>;
|
|
78
126
|
capabilities: number;
|
|
79
127
|
private readFromDelegates;
|
|
128
|
+
private readFromDelegatesSync;
|
|
80
129
|
private writeToDelegates;
|
|
81
130
|
stat(resource: URI): Promise<IStat>;
|
|
82
131
|
readFile(resource: URI): Promise<Uint8Array>;
|
|
132
|
+
readFileStream(resource: URI, opts: IFileReadStreamOptions, token: CancellationToken): ReadableStreamEvents<Uint8Array>;
|
|
83
133
|
readdir(resource: URI): Promise<[string, FileType][]>;
|
|
84
134
|
watch(resource: URI, opts: IWatchOptions): IDisposable;
|
|
85
135
|
writeFile(resource: URI, content: Uint8Array, opts: IFileWriteOptions): Promise<void>;
|
|
@@ -135,7 +185,7 @@ declare function getServiceOverride(): IEditorOverrideServices;
|
|
|
135
185
|
* the default file system provider for a given scheme.
|
|
136
186
|
*/
|
|
137
187
|
declare function registerCustomProvider(scheme: string, provider: IFileSystemProvider): void;
|
|
138
|
-
declare function registerExtensionFile(
|
|
188
|
+
declare function registerExtensionFile(file: RegisteredFileNode): IDisposable;
|
|
139
189
|
/**
|
|
140
190
|
* Can be used to create a file before the fileService is initialized
|
|
141
191
|
*/
|
|
@@ -162,4 +212,4 @@ declare function registerHTMLFileSystemProvider(): void;
|
|
|
162
212
|
*/
|
|
163
213
|
declare function registerFileSystemOverlay(priority: number, provider: IFileSystemProviderWithFileReadWriteCapability): IDisposable;
|
|
164
214
|
|
|
165
|
-
export { CustomSchemas, DelegateFileSystemProvider, EmptyFileSystemProvider, FileChangeType, FileSystemProviderCapabilities, FileType, IFileChange, IFileDeleteOptions, IFileOverwriteOptions, IFileSystemProviderWithFileReadWriteCapability, IFileWriteOptions, IStat, IWatchOptions, IndexedDBFileSystemProvider, OverlayFileSystemProvider, RegisteredFile, RegisteredFileSystemProvider, RegisteredMemoryFile, RegisteredReadOnlyFile, createIndexedDBProviders, getServiceOverride as default, initFile, registerCustomProvider, registerExtensionFile, registerFileSystemOverlay, registerHTMLFileSystemProvider };
|
|
215
|
+
export { CustomSchemas, DelegateFileSystemProvider, EmptyFileSystemProvider, type ExtensionFileMetadata, FileChangeType, FileSystemProviderCapabilities, FileType, IFileChange, IFileDeleteOptions, IFileOverwriteOptions, IFileSystemProviderWithFileReadWriteCapability, IFileWriteOptions, IStat, IWatchOptions, IndexedDBFileSystemProvider, OverlayFileSystemProvider, RegisteredFile, RegisteredFileSystemProvider, RegisteredMemoryFile, RegisteredReadOnlyFile, RegisteredUriFile, createIndexedDBProviders, getServiceOverride as default, initFile, registerCustomProvider, registerExtensionFile, registerFileSystemOverlay, registerHTMLFileSystemProvider };
|