@codingame/monaco-vscode-extensions-service-override 9.0.3 → 10.0.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/_virtual/semver.js +5 -0
- package/assets/webWorkerExtensionHostIframe.esm.html +8 -4
- package/extensions.js +14 -5
- package/override/vs/workbench/browser/parts/editor/textEditor.weak.js +1 -1
- package/package.json +3 -3
- package/vscode/src/vs/base/common/console.js +0 -2
- package/vscode/src/vs/platform/extensionManagement/common/extensionManagementCLI.js +35 -35
- package/vscode/src/vs/platform/extensionResourceLoader/browser/extensionResourceLoaderService.js +0 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadAuthentication.js +54 -31
- package/vscode/src/vs/workbench/api/browser/mainThreadBulkEdits.js +1 -2
- package/vscode/src/vs/workbench/api/browser/mainThreadCLICommands.js +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadChatAgents2.js +4 -5
- package/vscode/src/vs/workbench/api/browser/mainThreadChatCodeMapper.js +57 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadComments.js +9 -10
- package/vscode/src/vs/workbench/api/browser/mainThreadConfiguration.js +9 -11
- package/vscode/src/vs/workbench/api/browser/mainThreadCustomEditors.js +16 -33
- package/vscode/src/vs/workbench/api/browser/mainThreadDebugService.js +4 -4
- package/vscode/src/vs/workbench/api/browser/mainThreadDocuments.js +2 -3
- package/vscode/src/vs/workbench/api/browser/mainThreadDocumentsAndEditors.js +6 -12
- package/vscode/src/vs/workbench/api/browser/mainThreadEditSessionIdentityParticipant.js +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadEditor.js +16 -14
- package/vscode/src/vs/workbench/api/browser/mainThreadEditorTabs.js +38 -38
- package/vscode/src/vs/workbench/api/browser/mainThreadEmbeddings.js +2 -2
- package/vscode/src/vs/workbench/api/browser/mainThreadExtensionService.js +17 -19
- package/vscode/src/vs/workbench/api/browser/mainThreadFileSystem.js +5 -5
- package/vscode/src/vs/workbench/api/browser/mainThreadFileSystemEventService.js +39 -80
- package/vscode/src/vs/workbench/api/browser/mainThreadLanguageFeatures.js +23 -24
- package/vscode/src/vs/workbench/api/browser/mainThreadLanguageModelTools.js +8 -6
- package/vscode/src/vs/workbench/api/browser/mainThreadLanguageModels.js +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadManagedSockets.js +2 -4
- package/vscode/src/vs/workbench/api/browser/mainThreadMessageService.js +4 -4
- package/vscode/src/vs/workbench/api/browser/mainThreadNotebookDocumentsAndEditors.js +2 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadNotebookDto.js +1 -2
- package/vscode/src/vs/workbench/api/browser/mainThreadNotebookKernels.js +14 -11
- package/vscode/src/vs/workbench/api/browser/mainThreadNotebookSaveParticipant.js +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadProgress.js +3 -4
- package/vscode/src/vs/workbench/api/browser/mainThreadSCM.js +77 -42
- package/vscode/src/vs/workbench/api/browser/mainThreadSaveParticipant.js +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadSearch.js +23 -6
- package/vscode/src/vs/workbench/api/browser/mainThreadStatusBar.js +3 -4
- package/vscode/src/vs/workbench/api/browser/mainThreadStorage.js +1 -2
- package/vscode/src/vs/workbench/api/browser/mainThreadTask.js +17 -17
- package/vscode/src/vs/workbench/api/browser/mainThreadTelemetry.js +2 -2
- package/vscode/src/vs/workbench/api/browser/mainThreadTerminalService.js +3 -4
- package/vscode/src/vs/workbench/api/browser/mainThreadTerminalShellIntegration.js +4 -5
- package/vscode/src/vs/workbench/api/browser/mainThreadTesting.js +5 -5
- package/vscode/src/vs/workbench/api/browser/mainThreadTunnelService.js +14 -10
- package/vscode/src/vs/workbench/api/browser/mainThreadUriOpeners.js +2 -2
- package/vscode/src/vs/workbench/api/browser/mainThreadWebviewPanels.js +3 -3
- package/vscode/src/vs/workbench/api/browser/mainThreadWebviews.js +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadWorkspace.js +11 -11
- package/vscode/src/vs/workbench/contrib/customEditor/common/customTextEditorModel.js +22 -10
- package/vscode/src/vs/workbench/contrib/externalUriOpener/common/contributedOpeners.js +1 -2
- package/vscode/src/vs/workbench/services/extensionManagement/browser/extensionBisect.js +30 -33
- package/vscode/src/vs/workbench/services/extensions/browser/extensionService.js +19 -24
- package/vscode/src/vs/workbench/services/extensions/browser/webWorkerExtensionHost.js +11 -15
- package/vscode/src/vs/workbench/services/extensions/browser/webWorkerFileSystemProvider.js +2 -2
- package/vscode/src/vs/workbench/services/extensions/common/abstractExtensionService.js +32 -32
- package/vscode/src/vs/workbench/services/extensions/common/extensionHostManager.js +7 -8
- package/vscode/src/vs/workbench/services/extensions/common/extensionRunningLocationTracker.js +12 -12
- package/vscode/src/vs/workbench/services/extensions/common/extensionStorageMigration.js +2 -3
- package/vscode/src/vs/workbench/services/extensions/common/extensionsProposedApi.js +1 -1
- package/vscode/src/vs/workbench/services/extensions/common/extensionsUtil.js +5 -5
- package/vscode/src/vs/workbench/services/extensions/common/lazyCreateExtensionHostManager.js +2 -2
- package/vscode/src/vs/workbench/services/extensions/common/remoteExtensionHost.js +7 -9
|
@@ -8,7 +8,6 @@ import { ThemeIcon } from 'vscode/vscode/vs/base/common/themables';
|
|
|
8
8
|
import { URI } from 'vscode/vscode/vs/base/common/uri';
|
|
9
9
|
import { Range } from 'vscode/vscode/vs/editor/common/core/range';
|
|
10
10
|
import { getWordAtText } from 'vscode/vscode/vs/editor/common/core/wordHelper';
|
|
11
|
-
import { CompletionItemKind } from 'vscode/vscode/vs/editor/common/languages';
|
|
12
11
|
import { ILanguageFeaturesService } from 'vscode/vscode/vs/editor/common/services/languageFeatures';
|
|
13
12
|
import { ExtensionIdentifier } from 'vscode/vscode/vs/platform/extensions/common/extensions';
|
|
14
13
|
import { IInstantiationService } from 'vscode/vscode/vs/platform/instantiation/common/instantiation';
|
|
@@ -124,8 +123,8 @@ let MainThreadChatAgents2 = class MainThreadChatAgents2 extends Disposable {
|
|
|
124
123
|
}
|
|
125
124
|
return this._proxy.$provideFollowups(request, handle, result, { history }, token);
|
|
126
125
|
},
|
|
127
|
-
provideWelcomeMessage: (
|
|
128
|
-
return this._proxy.$provideWelcomeMessage(handle,
|
|
126
|
+
provideWelcomeMessage: (token) => {
|
|
127
|
+
return this._proxy.$provideWelcomeMessage(handle, token);
|
|
129
128
|
},
|
|
130
129
|
provideChatTitle: (history, token) => {
|
|
131
130
|
return this._proxy.$provideChatTitle(handle, history, token);
|
|
@@ -245,7 +244,7 @@ let MainThreadChatAgents2 = class MainThreadChatAgents2 extends Disposable {
|
|
|
245
244
|
label: v.label,
|
|
246
245
|
range,
|
|
247
246
|
insertText: insertText + ' ',
|
|
248
|
-
kind:
|
|
247
|
+
kind: 18 ,
|
|
249
248
|
detail: v.detail,
|
|
250
249
|
documentation: v.documentation,
|
|
251
250
|
command: { id: AddDynamicVariableAction.ID, title: '', arguments: [{ id: v.id, widget, range: rangeAfterInsert, variableData: revive(v.value), command: v.command }] }
|
|
@@ -309,4 +308,4 @@ function computeCompletionRanges(model, position, reg) {
|
|
|
309
308
|
return { insert, replace };
|
|
310
309
|
}
|
|
311
310
|
|
|
312
|
-
export { MainThreadChatAgents2 };
|
|
311
|
+
export { MainThreadChatAgents2, MainThreadChatTask };
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { __decorate, __param } from 'vscode/external/tslib/tslib.es6.js';
|
|
2
|
+
import { Disposable, DisposableMap } from 'vscode/vscode/vs/base/common/lifecycle';
|
|
3
|
+
import { URI } from 'vscode/vscode/vs/base/common/uri';
|
|
4
|
+
import { ICodeMapperService } from 'vscode/vscode/vs/workbench/contrib/chat/common/chatCodeMapperService.service';
|
|
5
|
+
import { extHostNamedCustomer } from '../../services/extensions/common/extHostCustomers.js';
|
|
6
|
+
import { ExtHostContext, MainContext } from 'vscode/vscode/vs/workbench/api/common/extHost.protocol';
|
|
7
|
+
|
|
8
|
+
var MainThreadChatCodemapper_1;
|
|
9
|
+
let MainThreadChatCodemapper = class MainThreadChatCodemapper extends Disposable {
|
|
10
|
+
static { MainThreadChatCodemapper_1 = this; }
|
|
11
|
+
static { this._requestHandlePool = 0; }
|
|
12
|
+
constructor(extHostContext, codeMapperService) {
|
|
13
|
+
super();
|
|
14
|
+
this.codeMapperService = codeMapperService;
|
|
15
|
+
this.providers = this._register(( new DisposableMap()));
|
|
16
|
+
this._responseMap = ( new Map());
|
|
17
|
+
this._proxy = ( extHostContext.getProxy(ExtHostContext.ExtHostCodeMapper));
|
|
18
|
+
}
|
|
19
|
+
$registerCodeMapperProvider(handle) {
|
|
20
|
+
const impl = {
|
|
21
|
+
mapCode: async (uiRequest, response, token) => {
|
|
22
|
+
const requestId = String(MainThreadChatCodemapper_1._requestHandlePool++);
|
|
23
|
+
this._responseMap.set(requestId, response);
|
|
24
|
+
const extHostRequest = {
|
|
25
|
+
requestId,
|
|
26
|
+
codeBlocks: uiRequest.codeBlocks,
|
|
27
|
+
conversation: uiRequest.conversation
|
|
28
|
+
};
|
|
29
|
+
try {
|
|
30
|
+
return await this._proxy.$mapCode(handle, extHostRequest, token).then((result) => result ?? undefined);
|
|
31
|
+
}
|
|
32
|
+
finally {
|
|
33
|
+
this._responseMap.delete(requestId);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
const disposable = this.codeMapperService.registerCodeMapperProvider(handle, impl);
|
|
38
|
+
this.providers.set(handle, disposable);
|
|
39
|
+
}
|
|
40
|
+
$unregisterCodeMapperProvider(handle) {
|
|
41
|
+
this.providers.deleteAndDispose(handle);
|
|
42
|
+
}
|
|
43
|
+
$handleProgress(requestId, data) {
|
|
44
|
+
const response = this._responseMap.get(requestId);
|
|
45
|
+
if (response) {
|
|
46
|
+
const resource = URI.revive(data.uri);
|
|
47
|
+
response.textEdit(resource, data.edits);
|
|
48
|
+
}
|
|
49
|
+
return Promise.resolve();
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
MainThreadChatCodemapper = MainThreadChatCodemapper_1 = __decorate([
|
|
53
|
+
extHostNamedCustomer(MainContext.MainThreadCodeMapper),
|
|
54
|
+
( __param(1, ICodeMapperService))
|
|
55
|
+
], MainThreadChatCodemapper);
|
|
56
|
+
|
|
57
|
+
export { MainThreadChatCodemapper };
|
|
@@ -10,14 +10,13 @@ import { ICommentService } from 'vscode/vscode/vs/workbench/contrib/comments/bro
|
|
|
10
10
|
import { CommentsPanel } from 'vscode/vscode/vs/workbench/contrib/comments/browser/commentsView';
|
|
11
11
|
import { ExtHostContext, MainContext } from 'vscode/vscode/vs/workbench/api/common/extHost.protocol';
|
|
12
12
|
import { COMMENTS_VIEW_ID, COMMENTS_VIEW_TITLE, COMMENTS_VIEW_STORAGE_ID } from 'vscode/vscode/vs/workbench/contrib/comments/browser/commentsTreeViewer';
|
|
13
|
-
import { Extensions
|
|
13
|
+
import { Extensions } from 'vscode/vscode/vs/workbench/common/views';
|
|
14
14
|
import { IViewDescriptorService } from 'vscode/vscode/vs/workbench/common/views.service';
|
|
15
15
|
import { SyncDescriptor } from 'vscode/vscode/vs/platform/instantiation/common/descriptors';
|
|
16
16
|
import { ViewPaneContainer } from 'vscode/vscode/vs/workbench/browser/parts/views/viewPaneContainer';
|
|
17
17
|
import { Codicon } from 'vscode/vscode/vs/base/common/codicons';
|
|
18
18
|
import { registerIcon } from 'vscode/vscode/vs/platform/theme/common/iconRegistry';
|
|
19
19
|
import { localize } from 'vscode/vscode/vs/nls';
|
|
20
|
-
import { MarshalledId } from 'vscode/vscode/vs/base/common/marshallingIds';
|
|
21
20
|
import { Schemas } from 'vscode/vscode/vs/base/common/network';
|
|
22
21
|
import { IViewsService } from 'vscode/vscode/vs/workbench/services/views/common/viewsService.service';
|
|
23
22
|
import { revealCommentThread } from 'vscode/vscode/vs/workbench/contrib/comments/browser/commentsController';
|
|
@@ -56,7 +55,6 @@ class MainThreadCommentThread {
|
|
|
56
55
|
get onDidChangeComments() { return this._onDidChangeComments.event; }
|
|
57
56
|
set range(range) {
|
|
58
57
|
this._range = range;
|
|
59
|
-
this._onDidChangeRange.fire(this._range);
|
|
60
58
|
}
|
|
61
59
|
get range() {
|
|
62
60
|
return this._range;
|
|
@@ -126,8 +124,6 @@ class MainThreadCommentThread {
|
|
|
126
124
|
this.onDidChangeLabel = this._onDidChangeLabel.event;
|
|
127
125
|
this._onDidChangeComments = ( (new Emitter()));
|
|
128
126
|
this._onDidChangeCanReply = ( (new Emitter()));
|
|
129
|
-
this._onDidChangeRange = ( (new Emitter()));
|
|
130
|
-
this.onDidChangeRange = this._onDidChangeRange.event;
|
|
131
127
|
this._onDidChangeCollapsibleState = ( (new Emitter()));
|
|
132
128
|
this.onDidChangeCollapsibleState = this._onDidChangeCollapsibleState.event;
|
|
133
129
|
this._onDidChangeInitialCollapsibleState = ( (new Emitter()));
|
|
@@ -183,12 +179,11 @@ class MainThreadCommentThread {
|
|
|
183
179
|
this._onDidChangeComments.dispose();
|
|
184
180
|
this._onDidChangeInput.dispose();
|
|
185
181
|
this._onDidChangeLabel.dispose();
|
|
186
|
-
this._onDidChangeRange.dispose();
|
|
187
182
|
this._onDidChangeState.dispose();
|
|
188
183
|
}
|
|
189
184
|
toJSON() {
|
|
190
185
|
return {
|
|
191
|
-
$mid:
|
|
186
|
+
$mid: 7 ,
|
|
192
187
|
commentControlHandle: this.controllerHandle,
|
|
193
188
|
commentThreadHandle: this.commentThreadHandle,
|
|
194
189
|
};
|
|
@@ -235,7 +230,11 @@ class MainThreadCommentController {
|
|
|
235
230
|
this._features = _features;
|
|
236
231
|
this._threads = ( (new Map()));
|
|
237
232
|
}
|
|
233
|
+
get activeComment() {
|
|
234
|
+
return this._activeComment;
|
|
235
|
+
}
|
|
238
236
|
async setActiveCommentAndThread(commentInfo) {
|
|
237
|
+
this._activeComment = commentInfo;
|
|
239
238
|
return this._proxy.$setActiveComment(this._handle, commentInfo ? { commentThreadHandle: commentInfo.thread.commentThreadHandle, uniqueIdInThread: commentInfo.comment?.uniqueIdInThread } : undefined);
|
|
240
239
|
}
|
|
241
240
|
updateFeatures(features) {
|
|
@@ -414,12 +413,12 @@ class MainThreadCommentController {
|
|
|
414
413
|
}
|
|
415
414
|
toJSON() {
|
|
416
415
|
return {
|
|
417
|
-
$mid:
|
|
416
|
+
$mid: 6 ,
|
|
418
417
|
handle: this.handle
|
|
419
418
|
};
|
|
420
419
|
}
|
|
421
420
|
}
|
|
422
|
-
const commentsViewIcon = registerIcon('comments-view-icon', Codicon.commentDiscussion, ( localize(
|
|
421
|
+
const commentsViewIcon = registerIcon('comments-view-icon', Codicon.commentDiscussion, ( localize(4878, 'View icon of the comments view.')));
|
|
423
422
|
let MainThreadComments = class MainThreadComments extends Disposable {
|
|
424
423
|
constructor(extHostContext, _commentService, _viewsService, _viewDescriptorService, _uriIdentityService, _editorService) {
|
|
425
424
|
super();
|
|
@@ -540,7 +539,7 @@ let MainThreadComments = class MainThreadComments extends Disposable {
|
|
|
540
539
|
hideIfEmpty: true,
|
|
541
540
|
icon: commentsViewIcon,
|
|
542
541
|
order: 10,
|
|
543
|
-
},
|
|
542
|
+
}, 1 );
|
|
544
543
|
( (Registry.as(Extensions.ViewsRegistry))).registerViews([{
|
|
545
544
|
id: COMMENTS_VIEW_ID,
|
|
546
545
|
name: COMMENTS_VIEW_TITLE,
|
|
@@ -1,12 +1,10 @@
|
|
|
1
1
|
import { __decorate, __param } from 'vscode/external/tslib/tslib.es6.js';
|
|
2
2
|
import { URI } from 'vscode/vscode/vs/base/common/uri';
|
|
3
3
|
import { Registry } from 'vscode/vscode/vs/platform/registry/common/platform';
|
|
4
|
-
import { getScopes, Extensions
|
|
5
|
-
import { WorkbenchState } from 'vscode/vscode/vs/platform/workspace/common/workspace';
|
|
4
|
+
import { getScopes, Extensions } from 'vscode/vscode/vs/platform/configuration/common/configurationRegistry';
|
|
6
5
|
import { IWorkspaceContextService } from 'vscode/vscode/vs/platform/workspace/common/workspace.service';
|
|
7
6
|
import { ExtHostContext, MainContext } from 'vscode/vscode/vs/workbench/api/common/extHost.protocol';
|
|
8
7
|
import { extHostNamedCustomer } from '../../services/extensions/common/extHostCustomers.js';
|
|
9
|
-
import { ConfigurationTarget } from 'vscode/vscode/vs/platform/configuration/common/configuration';
|
|
10
8
|
import { IConfigurationService } from 'vscode/vscode/vs/platform/configuration/common/configuration.service';
|
|
11
9
|
import { IEnvironmentService } from 'vscode/vscode/vs/platform/environment/common/environment.service';
|
|
12
10
|
|
|
@@ -43,13 +41,13 @@ let MainThreadConfiguration = class MainThreadConfiguration {
|
|
|
43
41
|
target = target !== null && target !== undefined ? target : this.deriveConfigurationTarget(key, overrides);
|
|
44
42
|
const configurationValue = this.configurationService.inspect(key, overrides);
|
|
45
43
|
switch (target) {
|
|
46
|
-
case
|
|
44
|
+
case 8 :
|
|
47
45
|
return this._updateValue(key, value, target, configurationValue?.memory?.override, overrides, scopeToLanguage);
|
|
48
|
-
case
|
|
46
|
+
case 6 :
|
|
49
47
|
return this._updateValue(key, value, target, configurationValue?.workspaceFolder?.override, overrides, scopeToLanguage);
|
|
50
|
-
case
|
|
48
|
+
case 5 :
|
|
51
49
|
return this._updateValue(key, value, target, configurationValue?.workspace?.override, overrides, scopeToLanguage);
|
|
52
|
-
case
|
|
50
|
+
case 4 :
|
|
53
51
|
return this._updateValue(key, value, target, configurationValue?.userRemote?.override, overrides, scopeToLanguage);
|
|
54
52
|
default:
|
|
55
53
|
return this._updateValue(key, value, target, configurationValue?.userLocal?.override, overrides, scopeToLanguage);
|
|
@@ -63,13 +61,13 @@ let MainThreadConfiguration = class MainThreadConfiguration {
|
|
|
63
61
|
return this.configurationService.updateValue(key, value, overrides, configurationTarget, { donotNotifyError: true });
|
|
64
62
|
}
|
|
65
63
|
deriveConfigurationTarget(key, overrides) {
|
|
66
|
-
if (overrides.resource && this._workspaceContextService.getWorkbenchState() ===
|
|
64
|
+
if (overrides.resource && this._workspaceContextService.getWorkbenchState() === 3 ) {
|
|
67
65
|
const configurationProperties = ( Registry.as(Extensions.Configuration)).getConfigurationProperties();
|
|
68
|
-
if (configurationProperties[key] && (configurationProperties[key].scope ===
|
|
69
|
-
return
|
|
66
|
+
if (configurationProperties[key] && ((configurationProperties[key].scope === 4 || configurationProperties[key].scope === 5) )) {
|
|
67
|
+
return 6 ;
|
|
70
68
|
}
|
|
71
69
|
}
|
|
72
|
-
return
|
|
70
|
+
return 5 ;
|
|
73
71
|
}
|
|
74
72
|
};
|
|
75
73
|
MainThreadConfiguration = __decorate([
|
|
@@ -12,12 +12,10 @@ import { URI } from 'vscode/vscode/vs/base/common/uri';
|
|
|
12
12
|
import { generateUuid } from 'vscode/vscode/vs/base/common/uuid';
|
|
13
13
|
import { localize } from 'vscode/vscode/vs/nls';
|
|
14
14
|
import { IFileDialogService } from 'vscode/vscode/vs/platform/dialogs/common/dialogs.service';
|
|
15
|
-
import { FileOperation } from 'vscode/vscode/vs/platform/files/common/files';
|
|
16
15
|
import { IFileService } from 'vscode/vscode/vs/platform/files/common/files.service';
|
|
17
16
|
import { IInstantiationService } from 'vscode/vscode/vs/platform/instantiation/common/instantiation';
|
|
18
17
|
import { ILabelService } from 'vscode/vscode/vs/platform/label/common/label.service';
|
|
19
18
|
import { IStorageService } from 'vscode/vscode/vs/platform/storage/common/storage.service';
|
|
20
|
-
import { UndoRedoElementType } from 'vscode/vscode/vs/platform/undoRedo/common/undoRedo';
|
|
21
19
|
import { IUndoRedoService } from 'vscode/vscode/vs/platform/undoRedo/common/undoRedo.service';
|
|
22
20
|
import { reviveWebviewExtension } from './mainThreadWebviews.js';
|
|
23
21
|
import { ExtHostContext } from 'vscode/vscode/vs/workbench/api/common/extHost.protocol';
|
|
@@ -33,16 +31,11 @@ import { IWorkbenchEnvironmentService } from 'vscode/vscode/vs/workbench/service
|
|
|
33
31
|
import { IExtensionService } from 'vscode/vscode/vs/workbench/services/extensions/common/extensions.service';
|
|
34
32
|
import { IPathService } from 'vscode/vscode/vs/workbench/services/path/common/pathService.service';
|
|
35
33
|
import { ResourceWorkingCopy } from 'vscode/vscode/vs/workbench/services/workingCopy/common/resourceWorkingCopy';
|
|
36
|
-
import { NO_TYPE_ID
|
|
34
|
+
import { NO_TYPE_ID } from 'vscode/vscode/vs/workbench/services/workingCopy/common/workingCopy';
|
|
37
35
|
import { IWorkingCopyFileService } from 'vscode/vscode/vs/workbench/services/workingCopy/common/workingCopyFileService.service';
|
|
38
36
|
import { IWorkingCopyService } from 'vscode/vscode/vs/workbench/services/workingCopy/common/workingCopyService.service';
|
|
39
37
|
|
|
40
38
|
var MainThreadCustomEditorModel_1;
|
|
41
|
-
var CustomEditorModelType;
|
|
42
|
-
( ((function(CustomEditorModelType) {
|
|
43
|
-
CustomEditorModelType[CustomEditorModelType["Custom"] = 0] = "Custom";
|
|
44
|
-
CustomEditorModelType[CustomEditorModelType["Text"] = 1] = "Text";
|
|
45
|
-
})(CustomEditorModelType || (CustomEditorModelType = {}))));
|
|
46
39
|
let MainThreadCustomEditors = class MainThreadCustomEditors extends Disposable {
|
|
47
40
|
constructor(context, mainThreadWebview, mainThreadWebviewPanels, extensionService, storageService, workingCopyService, workingCopyFileService, _customEditorService, _editorGroupService, _editorService, _instantiationService, _webviewWorkbenchService) {
|
|
48
41
|
super();
|
|
@@ -80,10 +73,10 @@ let MainThreadCustomEditors = class MainThreadCustomEditors extends Disposable {
|
|
|
80
73
|
this._register(workingCopyFileService.onWillRunWorkingCopyFileOperation(async (e) => this.onWillRunWorkingCopyFileOperation(e)));
|
|
81
74
|
}
|
|
82
75
|
$registerTextEditorProvider(extensionData, viewType, options, capabilities, serializeBuffersForPostMessage) {
|
|
83
|
-
this.registerEditorProvider(
|
|
76
|
+
this.registerEditorProvider(1 , reviveWebviewExtension(extensionData), viewType, options, capabilities, true, serializeBuffersForPostMessage);
|
|
84
77
|
}
|
|
85
78
|
$registerCustomEditorProvider(extensionData, viewType, options, supportsMultipleEditorsPerDocument, serializeBuffersForPostMessage) {
|
|
86
|
-
this.registerEditorProvider(
|
|
79
|
+
this.registerEditorProvider(0 , reviveWebviewExtension(extensionData), viewType, options, {}, supportsMultipleEditorsPerDocument, serializeBuffersForPostMessage);
|
|
87
80
|
}
|
|
88
81
|
registerEditorProvider(modelType, extension, viewType, options, capabilities, supportsMultipleEditorsPerDocument, serializeBuffersForPostMessage) {
|
|
89
82
|
if (( (this._editorProviders.has(viewType)))) {
|
|
@@ -174,12 +167,12 @@ let MainThreadCustomEditors = class MainThreadCustomEditors extends Disposable {
|
|
|
174
167
|
return existingModel;
|
|
175
168
|
}
|
|
176
169
|
switch (modelType) {
|
|
177
|
-
case
|
|
170
|
+
case 1 :
|
|
178
171
|
{
|
|
179
172
|
const model = CustomTextEditorModel.create(this._instantiationService, viewType, resource);
|
|
180
173
|
return this._customEditorService.models.add(resource, viewType, model);
|
|
181
174
|
}
|
|
182
|
-
case
|
|
175
|
+
case 0 :
|
|
183
176
|
{
|
|
184
177
|
const model = MainThreadCustomEditorModel.create(this._instantiationService, this._proxyCustomEditors, viewType, resource, options, () => {
|
|
185
178
|
return Array.from(this.mainThreadWebviewPanels.webviewInputs)
|
|
@@ -206,7 +199,7 @@ let MainThreadCustomEditors = class MainThreadCustomEditors extends Disposable {
|
|
|
206
199
|
return model;
|
|
207
200
|
}
|
|
208
201
|
async onWillRunWorkingCopyFileOperation(e) {
|
|
209
|
-
if (e.operation !==
|
|
202
|
+
if (e.operation !== 2 ) {
|
|
210
203
|
return;
|
|
211
204
|
}
|
|
212
205
|
e.waitUntil((async () => {
|
|
@@ -240,18 +233,17 @@ MainThreadCustomEditors = ( (__decorate([
|
|
|
240
233
|
], MainThreadCustomEditors)));
|
|
241
234
|
var HotExitState;
|
|
242
235
|
( ((function(HotExitState) {
|
|
243
|
-
let Type;
|
|
244
236
|
( ((function(Type) {
|
|
245
237
|
Type[Type["Allowed"] = 0] = "Allowed";
|
|
246
238
|
Type[Type["NotAllowed"] = 1] = "NotAllowed";
|
|
247
239
|
Type[Type["Pending"] = 2] = "Pending";
|
|
248
|
-
})(
|
|
249
|
-
HotExitState.Allowed = ( (Object.freeze({ type:
|
|
250
|
-
HotExitState.NotAllowed = ( (Object.freeze({ type:
|
|
240
|
+
})(HotExitState.Type || (HotExitState.Type = {}))));
|
|
241
|
+
HotExitState.Allowed = ( (Object.freeze({ type: 0 })));
|
|
242
|
+
HotExitState.NotAllowed = ( (Object.freeze({ type: 1 })));
|
|
251
243
|
class Pending {
|
|
252
244
|
constructor(operation) {
|
|
253
245
|
this.operation = operation;
|
|
254
|
-
this.type =
|
|
246
|
+
this.type = 2 ;
|
|
255
247
|
}
|
|
256
248
|
}
|
|
257
249
|
HotExitState.Pending = Pending;
|
|
@@ -296,16 +288,7 @@ let MainThreadCustomEditorModel = MainThreadCustomEditorModel_1 = class MainThre
|
|
|
296
288
|
if (_editable) {
|
|
297
289
|
this._register(workingCopyService.registerWorkingCopy(this));
|
|
298
290
|
this._register(extensionService.onWillStop(e => {
|
|
299
|
-
|
|
300
|
-
return;
|
|
301
|
-
}
|
|
302
|
-
e.veto((async () => {
|
|
303
|
-
const didSave = await this.save();
|
|
304
|
-
if (!didSave) {
|
|
305
|
-
return true;
|
|
306
|
-
}
|
|
307
|
-
return false;
|
|
308
|
-
})(), ( localize(9861, "Custom editor '{0}' could not be saved.", this.name)));
|
|
291
|
+
e.veto(true, ( localize(9956, "A custom editor for '{0}' is open.", this.name)));
|
|
309
292
|
}));
|
|
310
293
|
}
|
|
311
294
|
if (startDirty) {
|
|
@@ -338,7 +321,7 @@ let MainThreadCustomEditorModel = MainThreadCustomEditorModel_1 = class MainThre
|
|
|
338
321
|
return basename(this._labelService.getUriLabel(this._editorResource));
|
|
339
322
|
}
|
|
340
323
|
get capabilities() {
|
|
341
|
-
return this.isUntitled() ?
|
|
324
|
+
return this.isUntitled() ? 2 : 0 ;
|
|
342
325
|
}
|
|
343
326
|
isDirty() {
|
|
344
327
|
if (this._isDirtyFromContentChange) {
|
|
@@ -370,9 +353,9 @@ let MainThreadCustomEditorModel = MainThreadCustomEditorModel_1 = class MainThre
|
|
|
370
353
|
this._currentEditIndex = this._edits.length - 1;
|
|
371
354
|
});
|
|
372
355
|
this._undoService.pushElement({
|
|
373
|
-
type:
|
|
356
|
+
type: 0 ,
|
|
374
357
|
resource: this._editorResource,
|
|
375
|
-
label: label ?? ( localize(
|
|
358
|
+
label: label ?? ( localize(9957, "Edit")),
|
|
376
359
|
code: 'undoredo.customEditorEdit',
|
|
377
360
|
undo: () => this.undo(),
|
|
378
361
|
redo: () => this.redo(),
|
|
@@ -504,7 +487,7 @@ let MainThreadCustomEditorModel = MainThreadCustomEditorModel_1 = class MainThre
|
|
|
504
487
|
return true;
|
|
505
488
|
}
|
|
506
489
|
}
|
|
507
|
-
get canHotExit() { return typeof this._backupId === 'string' && this._hotExitState.type ===
|
|
490
|
+
get canHotExit() { return typeof this._backupId === 'string' && this._hotExitState.type === 0 ; }
|
|
508
491
|
async backup(token) {
|
|
509
492
|
const editors = this._getEditors();
|
|
510
493
|
if (!editors.length) {
|
|
@@ -531,7 +514,7 @@ let MainThreadCustomEditorModel = MainThreadCustomEditorModel_1 = class MainThre
|
|
|
531
514
|
if (!this._editable) {
|
|
532
515
|
return backupData;
|
|
533
516
|
}
|
|
534
|
-
if (this._hotExitState.type ===
|
|
517
|
+
if (this._hotExitState.type === 2 ) {
|
|
535
518
|
this._hotExitState.operation.cancel();
|
|
536
519
|
}
|
|
537
520
|
const pendingState = new HotExitState.Pending(createCancelablePromise(token => this._proxy.$backup(this._editorResource.toJSON(), this.viewType, token)));
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { __decorate, __param } from 'vscode/external/tslib/tslib.es6.js';
|
|
2
2
|
import { DisposableStore, DisposableMap, toDisposable } from 'vscode/vscode/vs/base/common/lifecycle';
|
|
3
3
|
import { URI } from 'vscode/vscode/vs/base/common/uri';
|
|
4
|
-
import { IDebugVisualization
|
|
4
|
+
import { IDebugVisualization } from 'vscode/vscode/vs/workbench/contrib/debug/common/debug';
|
|
5
5
|
import { IDebugService } from 'vscode/vscode/vs/workbench/contrib/debug/common/debug.service';
|
|
6
6
|
import { ExtHostContext, MainContext } from 'vscode/vscode/vs/workbench/api/common/extHost.protocol';
|
|
7
7
|
import { extHostNamedCustomer } from '../../services/extensions/common/extHostCustomers.js';
|
|
@@ -28,7 +28,7 @@ let MainThreadDebugService = class MainThreadDebugService {
|
|
|
28
28
|
this._toDispose.add(debugService.onDidNewSession(session => {
|
|
29
29
|
this._proxy.$acceptDebugSessionStarted(this.getSessionDto(session));
|
|
30
30
|
const store = sessionListeners.get(session);
|
|
31
|
-
store
|
|
31
|
+
store?.add(session.onDidChangeName(name => {
|
|
32
32
|
this._proxy.$acceptDebugSessionNameChanged(this.getSessionDto(session), name);
|
|
33
33
|
}));
|
|
34
34
|
}));
|
|
@@ -190,7 +190,7 @@ let MainThreadDebugService = class MainThreadDebugService {
|
|
|
190
190
|
else if (dto.type === 'data') {
|
|
191
191
|
this.debugService.addDataBreakpoint({
|
|
192
192
|
description: dto.label,
|
|
193
|
-
src: { type:
|
|
193
|
+
src: { type: 0 , dataId: dto.dataId },
|
|
194
194
|
canPersist: dto.canPersist,
|
|
195
195
|
accessTypes: dto.accessTypes,
|
|
196
196
|
accessType: dto.accessType,
|
|
@@ -384,7 +384,7 @@ let MainThreadDebugService = class MainThreadDebugService {
|
|
|
384
384
|
return {
|
|
385
385
|
type: 'data',
|
|
386
386
|
id: dbp.getId(),
|
|
387
|
-
dataId: dbp.src.type ===
|
|
387
|
+
dataId: dbp.src.type === 0 ? dbp.src.dataId : dbp.src.address,
|
|
388
388
|
enabled: dbp.enabled,
|
|
389
389
|
condition: dbp.condition,
|
|
390
390
|
hitCondition: dbp.hitCondition,
|
|
@@ -6,7 +6,6 @@ import { URI } from 'vscode/vscode/vs/base/common/uri';
|
|
|
6
6
|
import { shouldSynchronizeModel } from 'vscode/vscode/vs/editor/common/model';
|
|
7
7
|
import { IModelService } from 'vscode/vscode/vs/editor/common/services/model';
|
|
8
8
|
import { ITextModelService } from 'vscode/vscode/vs/editor/common/services/resolverService';
|
|
9
|
-
import { FileOperation } from 'vscode/vscode/vs/platform/files/common/files';
|
|
10
9
|
import { IFileService } from 'vscode/vscode/vs/platform/files/common/files.service';
|
|
11
10
|
import { ExtHostContext } from 'vscode/vscode/vs/workbench/api/common/extHost.protocol';
|
|
12
11
|
import { ITextFileService } from 'vscode/vscode/vs/workbench/services/textfile/common/textfiles.service';
|
|
@@ -114,8 +113,8 @@ let MainThreadDocuments = class MainThreadDocuments extends Disposable {
|
|
|
114
113
|
}
|
|
115
114
|
}));
|
|
116
115
|
this._store.add(workingCopyFileService.onDidRunWorkingCopyFileOperation(e => {
|
|
117
|
-
const isMove = e.operation ===
|
|
118
|
-
if (isMove || e.operation ===
|
|
116
|
+
const isMove = e.operation === 2 ;
|
|
117
|
+
if (isMove || e.operation === 1 ) {
|
|
119
118
|
for (const pair of e.files) {
|
|
120
119
|
const removed = isMove ? pair.source : pair.target;
|
|
121
120
|
if (removed) {
|
|
@@ -24,7 +24,6 @@ import { IClipboardService } from 'vscode/vscode/vs/platform/clipboard/common/cl
|
|
|
24
24
|
import { IPathService } from 'vscode/vscode/vs/workbench/services/path/common/pathService.service';
|
|
25
25
|
import { diffSets, diffMaps } from 'vscode/vscode/vs/base/common/collections';
|
|
26
26
|
import { IPaneCompositePartService } from 'vscode/vscode/vs/workbench/services/panecomposite/browser/panecomposite.service';
|
|
27
|
-
import { ViewContainerLocation } from 'vscode/vscode/vs/workbench/common/views';
|
|
28
27
|
import { IConfigurationService } from 'vscode/vscode/vs/platform/configuration/common/configuration.service';
|
|
29
28
|
|
|
30
29
|
class TextEditorSnapshot {
|
|
@@ -81,11 +80,6 @@ class DocumentAndEditorState {
|
|
|
81
80
|
this.activeEditor = activeEditor;
|
|
82
81
|
}
|
|
83
82
|
}
|
|
84
|
-
var ActiveEditorOrder;
|
|
85
|
-
( (function(ActiveEditorOrder) {
|
|
86
|
-
ActiveEditorOrder[ActiveEditorOrder["Editor"] = 0] = "Editor";
|
|
87
|
-
ActiveEditorOrder[ActiveEditorOrder["Panel"] = 1] = "Panel";
|
|
88
|
-
})(ActiveEditorOrder || (ActiveEditorOrder = {})));
|
|
89
83
|
let MainThreadDocumentAndEditorStateComputer = class MainThreadDocumentAndEditorStateComputer {
|
|
90
84
|
constructor(_onDidChangeState, _modelService, _codeEditorService, _editorService, _paneCompositeService) {
|
|
91
85
|
this._onDidChangeState = _onDidChangeState;
|
|
@@ -95,16 +89,16 @@ let MainThreadDocumentAndEditorStateComputer = class MainThreadDocumentAndEditor
|
|
|
95
89
|
this._paneCompositeService = _paneCompositeService;
|
|
96
90
|
this._toDispose = ( new DisposableStore());
|
|
97
91
|
this._toDisposeOnEditorRemove = ( new DisposableMap());
|
|
98
|
-
this._activeEditorOrder =
|
|
92
|
+
this._activeEditorOrder = 0 ;
|
|
99
93
|
this._modelService.onModelAdded(this._updateStateOnModelAdd, this, this._toDispose);
|
|
100
94
|
this._modelService.onModelRemoved(_ => this._updateState(), this, this._toDispose);
|
|
101
95
|
this._editorService.onDidActiveEditorChange(_ => this._updateState(), this, this._toDispose);
|
|
102
96
|
this._codeEditorService.onCodeEditorAdd(this._onDidAddEditor, this, this._toDispose);
|
|
103
97
|
this._codeEditorService.onCodeEditorRemove(this._onDidRemoveEditor, this, this._toDispose);
|
|
104
98
|
this._codeEditorService.listCodeEditors().forEach(this._onDidAddEditor, this);
|
|
105
|
-
Event.filter(this._paneCompositeService.onDidPaneCompositeOpen, event => event.viewContainerLocation ===
|
|
106
|
-
Event.filter(this._paneCompositeService.onDidPaneCompositeClose, event => event.viewContainerLocation ===
|
|
107
|
-
this._editorService.onDidVisibleEditorsChange(_ => this._activeEditorOrder =
|
|
99
|
+
Event.filter(this._paneCompositeService.onDidPaneCompositeOpen, event => event.viewContainerLocation === 1 )(_ => this._activeEditorOrder = 1 , undefined, this._toDispose);
|
|
100
|
+
Event.filter(this._paneCompositeService.onDidPaneCompositeClose, event => event.viewContainerLocation === 1 )(_ => this._activeEditorOrder = 0 , undefined, this._toDispose);
|
|
101
|
+
this._editorService.onDidVisibleEditorsChange(_ => this._activeEditorOrder = 0 , undefined, this._toDispose);
|
|
108
102
|
this._updateState();
|
|
109
103
|
}
|
|
110
104
|
dispose() {
|
|
@@ -164,7 +158,7 @@ let MainThreadDocumentAndEditorStateComputer = class MainThreadDocumentAndEditor
|
|
|
164
158
|
}
|
|
165
159
|
if (!activeEditor) {
|
|
166
160
|
let candidate;
|
|
167
|
-
if (this._activeEditorOrder ===
|
|
161
|
+
if (this._activeEditorOrder === 0 ) {
|
|
168
162
|
candidate = this._getActiveEditorFromEditorPart() || this._getActiveEditorFromPanel();
|
|
169
163
|
}
|
|
170
164
|
else {
|
|
@@ -186,7 +180,7 @@ let MainThreadDocumentAndEditorStateComputer = class MainThreadDocumentAndEditor
|
|
|
186
180
|
}
|
|
187
181
|
}
|
|
188
182
|
_getActiveEditorFromPanel() {
|
|
189
|
-
const panel = this._paneCompositeService.getActivePaneComposite(
|
|
183
|
+
const panel = this._paneCompositeService.getActivePaneComposite(1 );
|
|
190
184
|
if (panel instanceof FakeAbstractTextEditor) {
|
|
191
185
|
const control = panel.getControl();
|
|
192
186
|
if (isCodeEditor(control)) {
|
|
@@ -13,7 +13,7 @@ class ExtHostEditSessionIdentityCreateParticipant {
|
|
|
13
13
|
}
|
|
14
14
|
async participate(workspaceFolder, token) {
|
|
15
15
|
const p = ( (new Promise((resolve, reject) => {
|
|
16
|
-
setTimeout(() => reject(( (new Error(( localize(
|
|
16
|
+
setTimeout(() => reject(( (new Error(( localize(4870, "Aborted onWillCreateEditSessionIdentity-event after 10000ms")))))), this.timeout);
|
|
17
17
|
this._proxy.$onWillCreateEditSessionIdentity(workspaceFolder.uri, token, this.timeout).then(resolve, reject);
|
|
18
18
|
})));
|
|
19
19
|
return raceCancellationError(p, token);
|
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
import { Emitter } from 'vscode/vscode/vs/base/common/event';
|
|
2
2
|
import { DisposableStore } from 'vscode/vscode/vs/base/common/lifecycle';
|
|
3
|
-
import {
|
|
3
|
+
import { TextEditorCursorStyle, cursorStyleToString } from 'vscode/vscode/vs/editor/common/config/editorOptions';
|
|
4
4
|
import { Range } from 'vscode/vscode/vs/editor/common/core/range';
|
|
5
5
|
import { Selection } from 'vscode/vscode/vs/editor/common/core/selection';
|
|
6
|
-
import { ScrollType } from 'vscode/vscode/vs/editor/common/editorCommon';
|
|
7
6
|
import { SnippetController2 } from 'vscode/vscode/vs/editor/contrib/snippet/browser/snippetController2';
|
|
8
7
|
import { TextEditorRevealType } from 'vscode/vscode/vs/workbench/api/common/extHost.protocol';
|
|
9
8
|
import { equals } from 'vscode/vscode/vs/base/common/arrays';
|
|
10
|
-
import { EditorState
|
|
9
|
+
import { EditorState } from 'vscode/vscode/vs/editor/contrib/editorState/browser/editorState';
|
|
11
10
|
import { SnippetParser } from 'vscode/vscode/vs/editor/contrib/snippet/browser/snippetParser';
|
|
12
11
|
|
|
13
12
|
class MainThreadTextEditorProperties {
|
|
@@ -43,8 +42,8 @@ class MainThreadTextEditorProperties {
|
|
|
43
42
|
let lineNumbers;
|
|
44
43
|
if (codeEditor) {
|
|
45
44
|
const options = codeEditor.getOptions();
|
|
46
|
-
const lineNumbersOpts = options.get(
|
|
47
|
-
cursorStyle = options.get(
|
|
45
|
+
const lineNumbersOpts = options.get(70 );
|
|
46
|
+
cursorStyle = options.get(28 );
|
|
48
47
|
lineNumbers = lineNumbersOpts.renderType;
|
|
49
48
|
}
|
|
50
49
|
else if (previousProperties) {
|
|
@@ -53,7 +52,7 @@ class MainThreadTextEditorProperties {
|
|
|
53
52
|
}
|
|
54
53
|
else {
|
|
55
54
|
cursorStyle = TextEditorCursorStyle.Line;
|
|
56
|
-
lineNumbers =
|
|
55
|
+
lineNumbers = 1 ;
|
|
57
56
|
}
|
|
58
57
|
const modelOptions = model.getOptions();
|
|
59
58
|
return {
|
|
@@ -285,13 +284,13 @@ class MainThreadTextEditor {
|
|
|
285
284
|
if (typeof newConfiguration.lineNumbers !== 'undefined') {
|
|
286
285
|
let lineNumbers;
|
|
287
286
|
switch (newConfiguration.lineNumbers) {
|
|
288
|
-
case
|
|
287
|
+
case 1 :
|
|
289
288
|
lineNumbers = 'on';
|
|
290
289
|
break;
|
|
291
|
-
case
|
|
290
|
+
case 2 :
|
|
292
291
|
lineNumbers = 'relative';
|
|
293
292
|
break;
|
|
294
|
-
case
|
|
293
|
+
case 3 :
|
|
295
294
|
lineNumbers = 'interval';
|
|
296
295
|
break;
|
|
297
296
|
default:
|
|
@@ -324,16 +323,16 @@ class MainThreadTextEditor {
|
|
|
324
323
|
}
|
|
325
324
|
switch (revealType) {
|
|
326
325
|
case TextEditorRevealType.Default:
|
|
327
|
-
this._codeEditor.revealRange(range,
|
|
326
|
+
this._codeEditor.revealRange(range, 0 );
|
|
328
327
|
break;
|
|
329
328
|
case TextEditorRevealType.InCenter:
|
|
330
|
-
this._codeEditor.revealRangeInCenter(range,
|
|
329
|
+
this._codeEditor.revealRangeInCenter(range, 0 );
|
|
331
330
|
break;
|
|
332
331
|
case TextEditorRevealType.InCenterIfOutsideViewport:
|
|
333
|
-
this._codeEditor.revealRangeInCenterIfOutsideViewport(range,
|
|
332
|
+
this._codeEditor.revealRangeInCenterIfOutsideViewport(range, 0 );
|
|
334
333
|
break;
|
|
335
334
|
case TextEditorRevealType.AtTop:
|
|
336
|
-
this._codeEditor.revealRangeAtTop(range,
|
|
335
|
+
this._codeEditor.revealRangeAtTop(range, 0 );
|
|
337
336
|
break;
|
|
338
337
|
default:
|
|
339
338
|
console.warn(`Unknown revealType: ${revealType}`);
|
|
@@ -385,7 +384,10 @@ class MainThreadTextEditor {
|
|
|
385
384
|
let clipboardText;
|
|
386
385
|
const needsTemplate = SnippetParser.guessNeedsClipboard(template);
|
|
387
386
|
if (needsTemplate) {
|
|
388
|
-
const state = ( new EditorState(
|
|
387
|
+
const state = ( new EditorState(
|
|
388
|
+
this._codeEditor,
|
|
389
|
+
1 | 4
|
|
390
|
+
));
|
|
389
391
|
clipboardText = await this._clipboardService.readText();
|
|
390
392
|
if (!state.validate(this._codeEditor)) {
|
|
391
393
|
return false;
|