@codingame/monaco-vscode-files-service-override 5.1.0 → 5.1.2-segmenter.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/files.js +15 -12
- package/package.json +2 -2
package/files.js
CHANGED
|
@@ -110,16 +110,19 @@ class RegisteredFileSystemProvider extends Disposable {
|
|
|
110
110
|
this.capabilities |= 2048 ;
|
|
111
111
|
}
|
|
112
112
|
}
|
|
113
|
+
formatUri(uri) {
|
|
114
|
+
return ( uri.with({ query: null, fragment: null }).toString(true));
|
|
115
|
+
}
|
|
113
116
|
registerFile(file) {
|
|
114
|
-
this.files.set((
|
|
117
|
+
this.files.set(this.formatUri(file.uri), file);
|
|
115
118
|
this._onDidChangeFile.fire([{
|
|
116
119
|
resource: file.uri,
|
|
117
120
|
type: 1
|
|
118
121
|
}]);
|
|
119
122
|
const disposableStore = new DisposableStore();
|
|
120
123
|
disposableStore.add(toDisposable(() => {
|
|
121
|
-
if (this.files.get((
|
|
122
|
-
this.files.delete((
|
|
124
|
+
if (this.files.get(this.formatUri(file.uri)) === file) {
|
|
125
|
+
this.files.delete(this.formatUri(file.uri));
|
|
123
126
|
this._onDidChangeFile.fire([{
|
|
124
127
|
resource: file.uri,
|
|
125
128
|
type: 2
|
|
@@ -136,9 +139,9 @@ class RegisteredFileSystemProvider extends Disposable {
|
|
|
136
139
|
}]);
|
|
137
140
|
}));
|
|
138
141
|
disposableStore.add(file.onDidRename(({ from, to }) => {
|
|
139
|
-
if (this.files.get((
|
|
140
|
-
this.files.delete((
|
|
141
|
-
this.files.set((
|
|
142
|
+
if (this.files.get(this.formatUri(from)) === file) {
|
|
143
|
+
this.files.delete(this.formatUri(from));
|
|
144
|
+
this.files.set(this.formatUri(to), file);
|
|
142
145
|
this._onDidChangeFile.fire([{
|
|
143
146
|
resource: from,
|
|
144
147
|
type: 2
|
|
@@ -151,7 +154,7 @@ class RegisteredFileSystemProvider extends Disposable {
|
|
|
151
154
|
return disposableStore;
|
|
152
155
|
}
|
|
153
156
|
async stat(resource) {
|
|
154
|
-
const resourceUri = (
|
|
157
|
+
const resourceUri = this.formatUri(resource);
|
|
155
158
|
const file = this.files.get(resourceUri);
|
|
156
159
|
if (file != null) {
|
|
157
160
|
return file.stats();
|
|
@@ -172,7 +175,7 @@ class RegisteredFileSystemProvider extends Disposable {
|
|
|
172
175
|
async readdir(resource) {
|
|
173
176
|
const includedPaths = ( ( Array.from(( this.files.keys()))
|
|
174
177
|
.map(uri => ( URI.parse(uri))))
|
|
175
|
-
.filter(uri => uri.path.startsWith(resource.path + '/'))
|
|
178
|
+
.filter(uri => uri.authority === resource.authority && uri.path.startsWith(resource.path + '/'))
|
|
176
179
|
.map(uri => extUri.relativePath(resource, uri)));
|
|
177
180
|
const files = includedPaths.filter(path => !path.includes('/'));
|
|
178
181
|
const directories = ( includedPaths.filter(path => path.includes('/')).map(path => path.slice(0, path.indexOf('/'))));
|
|
@@ -188,7 +191,7 @@ class RegisteredFileSystemProvider extends Disposable {
|
|
|
188
191
|
];
|
|
189
192
|
}
|
|
190
193
|
async readFile(resource) {
|
|
191
|
-
const file = this.files.get((
|
|
194
|
+
const file = this.files.get(this.formatUri(resource));
|
|
192
195
|
if (file != null) {
|
|
193
196
|
const data = await file.read();
|
|
194
197
|
if (data instanceof Uint8Array) {
|
|
@@ -204,7 +207,7 @@ class RegisteredFileSystemProvider extends Disposable {
|
|
|
204
207
|
return Disposable.None;
|
|
205
208
|
}
|
|
206
209
|
async writeFile(resource, content) {
|
|
207
|
-
const file = this.files.get((
|
|
210
|
+
const file = this.files.get(this.formatUri(resource));
|
|
208
211
|
if (file?.write != null) {
|
|
209
212
|
await file.write(decoder.decode(content));
|
|
210
213
|
return;
|
|
@@ -212,7 +215,7 @@ class RegisteredFileSystemProvider extends Disposable {
|
|
|
212
215
|
throw createFileSystemProviderError('Not allowed', FileSystemProviderErrorCode.NoPermissions);
|
|
213
216
|
}
|
|
214
217
|
async delete(resource) {
|
|
215
|
-
const file = this.files.get((
|
|
218
|
+
const file = this.files.get(this.formatUri(resource));
|
|
216
219
|
if (file != null) {
|
|
217
220
|
await file.delete();
|
|
218
221
|
return;
|
|
@@ -220,7 +223,7 @@ class RegisteredFileSystemProvider extends Disposable {
|
|
|
220
223
|
throw createFileSystemProviderError('File not found', FileSystemProviderErrorCode.FileNotFound);
|
|
221
224
|
}
|
|
222
225
|
async rename(from, to) {
|
|
223
|
-
const file = this.files.get((
|
|
226
|
+
const file = this.files.get(this.formatUri(from));
|
|
224
227
|
if (file != null) {
|
|
225
228
|
await file.rename(to);
|
|
226
229
|
return;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@codingame/monaco-vscode-files-service-override",
|
|
3
|
-
"version": "5.1.
|
|
3
|
+
"version": "5.1.2-segmenter.1",
|
|
4
4
|
"keywords": [],
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "CodinGame",
|
|
@@ -26,6 +26,6 @@
|
|
|
26
26
|
}
|
|
27
27
|
},
|
|
28
28
|
"dependencies": {
|
|
29
|
-
"vscode": "npm:@codingame/monaco-vscode-api@5.1.
|
|
29
|
+
"vscode": "npm:@codingame/monaco-vscode-api@5.1.2-segmenter.1"
|
|
30
30
|
}
|
|
31
31
|
}
|