@codingame/monaco-vscode-api 1.82.6 → 1.83.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/api.js +5 -5
- package/assets/index-no-csp.html +2 -1
- package/assets/index.html +3 -2
- package/extensions.js +17 -14
- package/external/xterm/typings/xterm.d.ts +171 -109
- package/missing-services.js +33 -22
- package/monaco-editor-treemending.patch +1371 -1254
- package/monaco-treemending.js +2 -2
- package/monaco.js +2 -2
- package/package.json +2 -2
- package/service-override/extensions.js +10 -11
- package/services.d.ts +1 -1
- package/vscode/src/vs/base/browser/ui/menu/menubar.js +1 -1
- package/vscode/src/vs/base/common/event.d.ts +13 -17
- package/vscode/src/vs/base/common/keyCodes.d.ts +18 -18
- package/vscode/src/vs/base/common/lifecycle.d.ts +9 -0
- package/vscode/src/vs/base/common/observableInternal/base.d.ts +2 -0
- package/vscode/src/vs/base/common/product.d.ts +1 -0
- package/vscode/src/vs/base/parts/ipc/common/ipc.js +6 -2
- package/vscode/src/vs/base/parts/storage/common/storage.d.ts +1 -0
- package/vscode/src/vs/editor/common/config/editorOptions.d.ts +12 -3
- package/vscode/src/vs/editor/common/core/lineRange.d.ts +0 -5
- package/vscode/src/vs/editor/common/core/offsetRange.d.ts +9 -2
- package/vscode/src/vs/editor/common/diff/documentDiffProvider.d.ts +6 -20
- package/vscode/src/vs/editor/common/diff/legacyLinesDiffComputer.d.ts +2 -2
- package/vscode/src/vs/editor/common/diff/linesDiffComputer.d.ts +5 -55
- package/vscode/src/vs/editor/common/diff/rangeMapping.d.ts +55 -0
- package/vscode/src/vs/editor/common/languages.d.ts +7 -10
- package/vscode/src/vs/editor/common/model.d.ts +1 -1
- package/vscode/src/vs/platform/actions/common/actions.d.ts +1 -0
- package/vscode/src/vs/platform/extensionManagement/common/extensionNls.js +5 -5
- package/vscode/src/vs/platform/files/common/fileService.js +46 -40
- package/vscode/src/vs/platform/files/common/files.d.ts +46 -1
- package/vscode/src/vs/platform/files/common/inMemoryFilesystemProvider.js +45 -0
- package/vscode/src/vs/platform/storage/common/storage.d.ts +5 -0
- package/vscode/src/vs/platform/storage/common/storage.js +4 -0
- package/vscode/src/vs/platform/telemetry/common/telemetryUtils.js +4 -1
- package/vscode/src/vs/platform/terminal/common/terminal.js +1 -3
- package/vscode/src/vs/platform/tunnel/common/tunnel.d.ts +1 -1
- package/vscode/src/vs/platform/userDataProfile/common/userDataProfile.d.ts +1 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadChat.js +11 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadChatAgents.js +50 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadChatSlashCommands.js +3 -2
- package/vscode/src/vs/workbench/api/browser/mainThreadComments.js +16 -11
- package/vscode/src/vs/workbench/api/browser/mainThreadDebugService.js +20 -6
- package/vscode/src/vs/workbench/api/browser/mainThreadEditor.js +2 -2
- package/vscode/src/vs/workbench/api/browser/mainThreadEditorTabs.js +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadEditors.js +8 -8
- package/vscode/src/vs/workbench/api/browser/mainThreadExtensionService.js +3 -2
- package/vscode/src/vs/workbench/api/browser/mainThreadSCM.js +93 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadSecretState.js +3 -166
- package/vscode/src/vs/workbench/api/browser/mainThreadTask.js +3 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadTreeViews.js +18 -11
- package/vscode/src/vs/workbench/api/common/extHost.api.impl.js +14 -9
- package/vscode/src/vs/workbench/api/common/extHost.protocol.js +2 -1
- package/vscode/src/vs/workbench/api/common/extHostApiCommands.js +11 -2
- package/vscode/src/vs/workbench/api/common/extHostChat.js +10 -1
- package/vscode/src/vs/workbench/api/common/extHostChatAgents.js +62 -0
- package/vscode/src/vs/workbench/api/common/extHostChatSlashCommand.js +13 -4
- package/vscode/src/vs/workbench/api/common/extHostCommands.js +4 -4
- package/vscode/src/vs/workbench/api/common/extHostComments.js +1 -1
- package/vscode/src/vs/workbench/api/common/extHostExtensionService.js +36 -4
- package/vscode/src/vs/workbench/api/common/extHostInlineChat.js +6 -29
- package/vscode/src/vs/workbench/api/common/extHostLanguageFeatures.js +24 -12
- package/vscode/src/vs/workbench/api/common/extHostNotebookKernels.js +0 -2
- package/vscode/src/vs/workbench/api/common/extHostRequireInterceptor.js +0 -63
- package/vscode/src/vs/workbench/api/common/extHostSCM.js +80 -0
- package/vscode/src/vs/workbench/api/common/extHostTerminalService.js +24 -0
- package/vscode/src/vs/workbench/api/common/extHostTesting.js +14 -10
- package/vscode/src/vs/workbench/api/common/extHostTextEditor.js +4 -4
- package/vscode/src/vs/workbench/api/common/extHostTreeViews.js +11 -7
- package/vscode/src/vs/workbench/api/common/extHostTypeConverters.js +34 -16
- package/vscode/src/vs/workbench/api/common/extHostTypes.js +31 -13
- package/vscode/src/vs/workbench/api/common/extHostWebview.js +14 -2
- package/vscode/src/vs/workbench/api/common/extHostWebviewPanels.js +11 -5
- package/vscode/src/vs/workbench/api/common/extensionHostMain.js +1 -1
- package/vscode/src/vs/workbench/browser/actions/layoutActions.js +32 -9
- package/vscode/src/vs/workbench/browser/actions/quickAccessActions.js +3 -1
- package/vscode/src/vs/workbench/browser/codeeditor.js +1 -1
- package/vscode/src/vs/workbench/browser/dnd.js +7 -6
- package/vscode/src/vs/workbench/browser/media/part.css.js +1 -1
- package/vscode/src/vs/workbench/browser/parts/editor/editor.contribution.js +7 -10
- package/vscode/src/vs/workbench/browser/parts/editor/editor.js +7 -1
- package/vscode/src/vs/workbench/browser/parts/editor/editorActions.js +9 -3
- package/vscode/src/vs/workbench/browser/parts/editor/editorAutoSave.js +1 -1
- package/vscode/src/vs/workbench/browser/parts/editor/editorCommands.js +9 -2
- package/vscode/src/vs/workbench/browser/parts/editor/editorStatus.js +44 -14
- package/vscode/src/vs/workbench/browser/parts/editor/media/editorplaceholder.css.js +1 -1
- package/vscode/src/vs/workbench/browser/parts/editor/textDiffEditor.js +3 -19
- package/vscode/src/vs/workbench/browser/parts/editor/textResourceEditor.js +1 -1
- package/vscode/src/vs/workbench/browser/parts/notifications/notificationsCommands.js +9 -3
- package/vscode/src/vs/workbench/browser/parts/statusbar/statusbarPart.d.ts +1 -1
- package/vscode/src/vs/workbench/browser/parts/titlebar/menubarControl.js +10 -9
- package/vscode/src/vs/workbench/browser/parts/views/viewFilter.js +2 -0
- package/vscode/src/vs/workbench/browser/parts/views/viewPane.js +2 -2
- package/vscode/src/vs/workbench/browser/parts/views/viewPaneContainer.js +6 -5
- package/vscode/src/vs/workbench/browser/web.api.d.ts +0 -6
- package/vscode/src/vs/workbench/browser/workbench.contribution.js +34 -3
- package/vscode/src/vs/workbench/common/contextkeys.js +2 -1
- package/vscode/src/vs/workbench/common/editor/editorGroupModel.js +4 -4
- package/vscode/src/vs/workbench/common/editor/editorInput.d.ts +0 -1
- package/vscode/src/vs/workbench/common/editor/editorInput.js +2 -4
- package/vscode/src/vs/workbench/common/editor/editorModel.d.ts +0 -1
- package/vscode/src/vs/workbench/common/editor/editorModel.js +1 -3
- package/vscode/src/vs/workbench/common/editor.d.ts +2 -0
- package/vscode/src/vs/workbench/common/theme.js +21 -1
- package/vscode/src/vs/workbench/common/views.d.ts +1 -1
- package/vscode/src/vs/workbench/common/views.js +1 -2
- package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibilityConfiguration.js +12 -4
- package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibilityContributions.js +335 -0
- package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibleView.js +81 -27
- package/vscode/src/vs/workbench/contrib/bulkEdit/browser/bulkEditService.js +1 -1
- package/vscode/src/vs/workbench/contrib/bulkEdit/browser/bulkTextEdits.js +22 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatActions.js +2 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatAgents.js +136 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatModel.js +14 -3
- package/vscode/src/vs/workbench/contrib/chat/common/chatSlashCommands.js +78 -1
- package/vscode/src/vs/workbench/contrib/codeActions/browser/codeActionsContribution.js +43 -17
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/diffEditorHelper.js +30 -26
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/largeFileOptimizations.js +1 -1
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/saveParticipants.js +23 -18
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleWordWrap.js +8 -8
- package/vscode/src/vs/workbench/contrib/comments/browser/commentNode.js +55 -20
- package/vscode/src/vs/workbench/contrib/comments/browser/commentReply.js +26 -10
- package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadBody.js +7 -6
- package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadWidget.js +58 -9
- package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadZoneWidget.js +9 -6
- package/vscode/src/vs/workbench/contrib/comments/browser/comments.contribution.js +171 -0
- package/vscode/src/vs/workbench/contrib/comments/browser/commentsController.js +204 -33
- package/vscode/src/vs/workbench/contrib/comments/browser/commentsTreeViewer.js +3 -7
- package/vscode/src/vs/workbench/contrib/comments/browser/commentsView.js +2 -2
- package/vscode/src/vs/workbench/contrib/comments/browser/media/review.css.js +1 -1
- package/vscode/src/vs/workbench/contrib/comments/browser/simpleCommentEditor.js +21 -4
- package/vscode/src/vs/workbench/contrib/comments/common/commentContextKeys.js +22 -0
- package/vscode/src/vs/workbench/contrib/debug/common/debug.d.ts +5 -2
- package/vscode/src/vs/workbench/contrib/debug/common/debugUtils.js +2 -1
- package/vscode/src/vs/workbench/contrib/files/browser/explorerViewlet.js +1 -1
- package/vscode/src/vs/workbench/contrib/files/browser/fileImportExport.js +2 -2
- package/vscode/src/vs/workbench/contrib/files/browser/files.contribution.js +4 -4
- package/vscode/src/vs/workbench/contrib/files/browser/views/emptyView.js +1 -1
- package/vscode/src/vs/workbench/contrib/files/browser/views/explorerViewer.js +7 -4
- package/vscode/src/vs/workbench/contrib/files/browser/views/openEditorsView.js +2 -1
- package/vscode/src/vs/workbench/contrib/files/common/files.js +7 -5
- package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeEditorInputModel.js +2 -2
- package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/diffComputer.js +2 -2
- package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/mapping.js +2 -1
- package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/mergeEditorModel.js +17 -17
- package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/textModelDiffs.js +2 -2
- package/vscode/src/vs/workbench/contrib/notebook/common/notebookCommon.js +4 -1
- package/vscode/src/vs/workbench/contrib/output/browser/output.contribution.js +22 -19
- package/vscode/src/vs/workbench/contrib/output/browser/outputServices.js +2 -38
- package/vscode/src/vs/workbench/contrib/preferences/common/preferences.js +14 -1
- package/vscode/src/vs/workbench/contrib/quickaccess/browser/commandsQuickAccess.js +3 -8
- package/vscode/src/vs/workbench/contrib/scm/browser/dirtydiffDecorator.js +10 -12
- package/vscode/src/vs/workbench/contrib/snippets/browser/tabCompletion.js +2 -2
- package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/xtermTerminal.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/terminal/common/terminalContextKey.js +0 -16
- package/vscode/src/vs/workbench/contrib/testing/common/observableValue.js +2 -1
- package/vscode/src/vs/workbench/contrib/testing/common/testResult.js +8 -6
- package/vscode/src/vs/workbench/services/actions/common/menusExtensionPoint.js +2 -4
- package/vscode/src/vs/workbench/services/authentication/browser/authenticationService.js +2 -4
- package/vscode/src/vs/workbench/services/decorations/browser/decorationsService.js +7 -3
- package/vscode/src/vs/workbench/services/editor/common/editorGroupsService.d.ts +2 -6
- package/vscode/src/vs/workbench/services/extensions/browser/extensionService.js +18 -20
- package/vscode/src/vs/workbench/services/extensions/browser/webWorkerExtensionHost.js +9 -13
- package/vscode/src/vs/workbench/services/extensions/common/abstractExtensionService.d.ts +2 -1
- package/vscode/src/vs/workbench/services/extensions/common/abstractExtensionService.js +47 -15
- package/vscode/src/vs/workbench/services/extensions/common/extensionDescriptionRegistry.d.ts +14 -4
- package/vscode/src/vs/workbench/services/extensions/common/extensionDescriptionRegistry.js +22 -3
- package/vscode/src/vs/workbench/services/extensions/common/extensionHostManager.d.ts +1 -1
- package/vscode/src/vs/workbench/services/extensions/common/extensionHostManager.js +15 -14
- package/vscode/src/vs/workbench/services/extensions/common/extensionHostProtocol.d.ts +12 -7
- package/vscode/src/vs/workbench/services/extensions/common/extensions.d.ts +10 -6
- package/vscode/src/vs/workbench/services/extensions/common/extensions.js +27 -11
- package/vscode/src/vs/workbench/services/extensions/common/extensionsApiProposals.js +2 -5
- package/vscode/src/vs/workbench/services/extensions/common/remoteExtensionHost.js +7 -11
- package/vscode/src/vs/workbench/services/extensions/common/rpcProtocol.js +20 -4
- package/vscode/src/vs/workbench/services/keybinding/browser/keybindingService.js +24 -16
- package/vscode/src/vs/workbench/services/output/common/output.js +1 -2
- package/vscode/src/vs/workbench/services/preferences/common/preferences.d.ts +6 -6
- package/vscode/src/vs/workbench/services/preferences/common/preferences.js +4 -3
- package/vscode/src/vs/workbench/services/preferences/common/preferencesModels.d.ts +0 -1
- package/vscode/src/vs/workbench/services/search/common/fileSearchManager.js +3 -1
- package/vscode/src/vs/workbench/services/search/common/search.js +2 -1
- package/vscode/src/vs/workbench/services/search/common/textSearchManager.js +1 -2
- package/vscode/src/vs/workbench/services/textfile/common/textFileEditorModel.js +2 -2
- package/vscode/src/vs/workbench/services/userDataProfile/common/userDataProfileService.js +3 -8
- package/vscode/src/vs/workbench/services/workingCopy/common/resourceWorkingCopy.js +3 -4
- package/vscode/src/vs/workbench/services/workingCopy/common/storedFileWorkingCopySaveParticipant.js +1 -0
- package/vscode/src/vs/workbench/services/workingCopy/common/workingCopyBackupService.js +2 -1
- package/vscode/src/vs/workbench/services/workingCopy/common/workingCopyService.js +4 -2
- package/vscode/src/vs/editor/browser/widget/diffEditorWidget2/diffEditorWidget2.contribution.js +0 -180
- package/vscode/src/vs/platform/credentials/common/credentials.d.ts +0 -13
- package/vscode/src/vs/platform/credentials/common/credentials.js +0 -3
- package/vscode/src/vs/workbench/api/browser/mainThreadKeytar.js +0 -31
- package/vscode/src/vs/workbench/browser/iframe.js +0 -16
- package/vscode/src/vs/workbench/browser/parts/editor/accessibilityStatus.js +0 -90
- package/vscode/src/vs/workbench/browser/parts/editor/tabFocus.js +0 -77
- package/vscode/src/vs/workbench/contrib/output/browser/logViewer.js +0 -67
|
@@ -5,7 +5,7 @@ import { Disposable, dispose } from 'monaco-editor/esm/vs/base/common/lifecycle.
|
|
|
5
5
|
import { IInstantiationService } from 'monaco-editor/esm/vs/platform/instantiation/common/instantiation.js';
|
|
6
6
|
import { IStorageService } from 'monaco-editor/esm/vs/platform/storage/common/storage.js';
|
|
7
7
|
import { Registry } from 'monaco-editor/esm/vs/platform/registry/common/platform.js';
|
|
8
|
-
import { ACTIVE_OUTPUT_CHANNEL_CONTEXT, CONTEXT_ACTIVE_LOG_OUTPUT, OUTPUT_SCHEME, OUTPUT_VIEW_ID, Extensions, LOG_MIME, OUTPUT_MIME
|
|
8
|
+
import { ACTIVE_OUTPUT_CHANNEL_CONTEXT, CONTEXT_ACTIVE_LOG_OUTPUT, OUTPUT_SCHEME, OUTPUT_VIEW_ID, Extensions, LOG_MIME, OUTPUT_MIME } from '../../../services/output/common/output.js';
|
|
9
9
|
import { OutputLinkProvider } from './outputLinkProvider.js';
|
|
10
10
|
import { ITextModelService } from 'monaco-editor/esm/vs/editor/common/services/resolverService.js';
|
|
11
11
|
import { ILogService } from 'monaco-editor/esm/vs/platform/log/common/log.js';
|
|
@@ -163,40 +163,4 @@ OutputService = ( __decorate([
|
|
|
163
163
|
( __param(5, IViewsService)),
|
|
164
164
|
( __param(6, IContextKeyService))
|
|
165
165
|
], OutputService));
|
|
166
|
-
|
|
167
|
-
constructor(outputService, outputChannelModelService, languageService) {
|
|
168
|
-
this.outputService = outputService;
|
|
169
|
-
this.outputChannelModelService = outputChannelModelService;
|
|
170
|
-
this.languageService = languageService;
|
|
171
|
-
this.channelModels = ( new Map());
|
|
172
|
-
}
|
|
173
|
-
provideTextContent(resource) {
|
|
174
|
-
if (resource.scheme === LOG_SCHEME) {
|
|
175
|
-
const channelModel = this.getChannelModel(resource);
|
|
176
|
-
if (channelModel) {
|
|
177
|
-
return channelModel.loadModel();
|
|
178
|
-
}
|
|
179
|
-
}
|
|
180
|
-
return null;
|
|
181
|
-
}
|
|
182
|
-
getChannelModel(resource) {
|
|
183
|
-
const channelId = resource.path;
|
|
184
|
-
let channelModel = this.channelModels.get(channelId);
|
|
185
|
-
if (!channelModel) {
|
|
186
|
-
const channelDisposables = [];
|
|
187
|
-
const outputChannelDescriptor = this.outputService.getChannelDescriptors().filter(({ id }) => id === channelId)[0];
|
|
188
|
-
if (outputChannelDescriptor && outputChannelDescriptor.file) {
|
|
189
|
-
channelModel = this.outputChannelModelService.createOutputChannelModel(channelId, resource, outputChannelDescriptor.languageId ? this.languageService.createById(outputChannelDescriptor.languageId) : this.languageService.createByMimeType(outputChannelDescriptor.log ? LOG_MIME : OUTPUT_MIME), outputChannelDescriptor.file);
|
|
190
|
-
channelModel.onDispose(() => dispose(channelDisposables), channelDisposables);
|
|
191
|
-
this.channelModels.set(channelId, channelModel);
|
|
192
|
-
}
|
|
193
|
-
}
|
|
194
|
-
return channelModel;
|
|
195
|
-
}
|
|
196
|
-
};
|
|
197
|
-
LogContentProvider = ( __decorate([
|
|
198
|
-
( __param(0, IOutputService)),
|
|
199
|
-
( __param(1, IOutputChannelModelService)),
|
|
200
|
-
( __param(2, ILanguageService))
|
|
201
|
-
], LogContentProvider));
|
|
202
|
-
export { LogContentProvider, OutputService };
|
|
166
|
+
export { OutputService };
|
|
@@ -64,4 +64,17 @@ async function getExperimentalExtensionToggleData(workbenchAssignmentService, en
|
|
|
64
64
|
}
|
|
65
65
|
return undefined;
|
|
66
66
|
}
|
|
67
|
-
|
|
67
|
+
function compareTwoNullableNumbers(a, b) {
|
|
68
|
+
const aOrMax = a ?? Number.MAX_SAFE_INTEGER;
|
|
69
|
+
const bOrMax = b ?? Number.MAX_SAFE_INTEGER;
|
|
70
|
+
if (aOrMax < bOrMax) {
|
|
71
|
+
return -1;
|
|
72
|
+
}
|
|
73
|
+
else if (aOrMax > bOrMax) {
|
|
74
|
+
return 1;
|
|
75
|
+
}
|
|
76
|
+
else {
|
|
77
|
+
return 0;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
export { CONTEXT_KEYBINDINGS_EDITOR, CONTEXT_KEYBINDINGS_SEARCH_FOCUS, CONTEXT_KEYBINDING_FOCUS, CONTEXT_SETTINGS_EDITOR, CONTEXT_SETTINGS_JSON_EDITOR, CONTEXT_SETTINGS_ROW_FOCUS, CONTEXT_SETTINGS_SEARCH_FOCUS, CONTEXT_TOC_ROW_FOCUS, CONTEXT_WHEN_FOCUS, EXTENSION_SETTING_TAG, FEATURE_SETTING_TAG, GENERAL_TAG_SETTING_TAG, ID_SETTING_TAG, IPreferencesSearchService, KEYBINDINGS_EDITOR_COMMAND_ACCEPT_WHEN, KEYBINDINGS_EDITOR_COMMAND_ADD, KEYBINDINGS_EDITOR_COMMAND_CLEAR_SEARCH_HISTORY, KEYBINDINGS_EDITOR_COMMAND_CLEAR_SEARCH_RESULTS, KEYBINDINGS_EDITOR_COMMAND_COPY, KEYBINDINGS_EDITOR_COMMAND_COPY_COMMAND, KEYBINDINGS_EDITOR_COMMAND_COPY_COMMAND_TITLE, KEYBINDINGS_EDITOR_COMMAND_DEFINE, KEYBINDINGS_EDITOR_COMMAND_DEFINE_WHEN, KEYBINDINGS_EDITOR_COMMAND_FOCUS_KEYBINDINGS, KEYBINDINGS_EDITOR_COMMAND_RECORD_SEARCH_KEYS, KEYBINDINGS_EDITOR_COMMAND_REJECT_WHEN, KEYBINDINGS_EDITOR_COMMAND_REMOVE, KEYBINDINGS_EDITOR_COMMAND_RESET, KEYBINDINGS_EDITOR_COMMAND_SEARCH, KEYBINDINGS_EDITOR_COMMAND_SHOW_SIMILAR, KEYBINDINGS_EDITOR_COMMAND_SORTBY_PRECEDENCE, KEYBINDINGS_EDITOR_SHOW_DEFAULT_KEYBINDINGS, KEYBINDINGS_EDITOR_SHOW_EXTENSION_KEYBINDINGS, KEYBINDINGS_EDITOR_SHOW_USER_KEYBINDINGS, LANGUAGE_SETTING_TAG, MODIFIED_SETTING_TAG, POLICY_SETTING_TAG, REQUIRE_TRUSTED_WORKSPACE_SETTING_TAG, SETTINGS_EDITOR_COMMAND_CLEAR_SEARCH_RESULTS, SETTINGS_EDITOR_COMMAND_SHOW_CONTEXT_MENU, SETTINGS_EDITOR_COMMAND_SUGGEST_FILTERS, WORKSPACE_TRUST_SETTING_TAG, compareTwoNullableNumbers, getExperimentalExtensionToggleData };
|
|
@@ -27,11 +27,12 @@ import { IProductService } from 'monaco-editor/esm/vs/platform/product/common/pr
|
|
|
27
27
|
import { IChatService } from '../../chat/common/chatService.js';
|
|
28
28
|
import { ASK_QUICK_QUESTION_ACTION_ID } from '../../chat/browser/actions/chatQuickInputActions.js';
|
|
29
29
|
import { RelatedInformationType, IAiRelatedInformationService } from '../../../services/aiRelatedInformation/common/aiRelatedInformation.js';
|
|
30
|
+
import { CHAT_OPEN_ACTION_ID } from '../../chat/browser/actions/chatActions.js';
|
|
30
31
|
import { IDialogService } from '../../../../platform/dialogs/common/dialogs.js';
|
|
31
32
|
var CommandsQuickAccessProvider_1;
|
|
32
33
|
let CommandsQuickAccessProvider = class CommandsQuickAccessProvider extends AbstractEditorCommandsQuickAccessProvider {
|
|
33
34
|
static { CommandsQuickAccessProvider_1 = this; }
|
|
34
|
-
static { this.AI_RELATED_INFORMATION_MAX_PICKS =
|
|
35
|
+
static { this.AI_RELATED_INFORMATION_MAX_PICKS = 5; }
|
|
35
36
|
static { this.AI_RELATED_INFORMATION_THRESHOLD = 0.8; }
|
|
36
37
|
static { this.AI_RELATED_INFORMATION_DEBOUNCE = 200; }
|
|
37
38
|
get activeTextEditorControl() { return this.editorService.activeTextEditorControl; }
|
|
@@ -122,12 +123,6 @@ let CommandsQuickAccessProvider = class CommandsQuickAccessProvider extends Abst
|
|
|
122
123
|
catch (e) {
|
|
123
124
|
return [];
|
|
124
125
|
}
|
|
125
|
-
if (additionalPicks.length) {
|
|
126
|
-
additionalPicks.unshift({
|
|
127
|
-
type: 'separator',
|
|
128
|
-
label: ( localize('similarCommands', "similar commands"))
|
|
129
|
-
});
|
|
130
|
-
}
|
|
131
126
|
if (picksSoFar.length || additionalPicks.length) {
|
|
132
127
|
additionalPicks.push({
|
|
133
128
|
type: 'separator'
|
|
@@ -137,7 +132,7 @@ let CommandsQuickAccessProvider = class CommandsQuickAccessProvider extends Abst
|
|
|
137
132
|
if (info) {
|
|
138
133
|
additionalPicks.push({
|
|
139
134
|
label: ( localize('askXInChat', "Ask {0}: {1}", info.displayName, filter)),
|
|
140
|
-
commandId: ASK_QUICK_QUESTION_ACTION_ID,
|
|
135
|
+
commandId: this.configuration.experimental.askChatLocation === 'quickChat' ? ASK_QUICK_QUESTION_ACTION_ID : CHAT_OPEN_ACTION_ID,
|
|
141
136
|
args: [filter]
|
|
142
137
|
});
|
|
143
138
|
}
|
|
@@ -172,7 +172,7 @@ let DirtyDiffWidget = class DirtyDiffWidget extends PeekViewWidget {
|
|
|
172
172
|
this.diffEditor.setModel(diffEditorModel);
|
|
173
173
|
this.dropdown?.setSelection(labeledChange.label);
|
|
174
174
|
const position = ( new Position(getModifiedEndLineNumber(change), 1));
|
|
175
|
-
const lineHeight = this.editor.getOption(
|
|
175
|
+
const lineHeight = this.editor.getOption(66 );
|
|
176
176
|
const editorHeight = this.editor.getLayoutInfo().height;
|
|
177
177
|
const editorHeightInLines = Math.floor(editorHeight / lineHeight);
|
|
178
178
|
const height = Math.min(getChangeHeight(change) + 8, Math.floor(editorHeightInLines / 3));
|
|
@@ -488,7 +488,7 @@ class GotoPreviousChangeAction extends EditorAction {
|
|
|
488
488
|
return;
|
|
489
489
|
}
|
|
490
490
|
const lineNumber = outerEditor.getPosition().lineNumber;
|
|
491
|
-
const model = controller.modelRegistry.getModel(outerEditor.getModel());
|
|
491
|
+
const model = controller.modelRegistry.getModel(outerEditor.getModel(), outerEditor);
|
|
492
492
|
if (!model || model.changes.length === 0) {
|
|
493
493
|
return;
|
|
494
494
|
}
|
|
@@ -522,7 +522,7 @@ class GotoNextChangeAction extends EditorAction {
|
|
|
522
522
|
return;
|
|
523
523
|
}
|
|
524
524
|
const lineNumber = outerEditor.getPosition().lineNumber;
|
|
525
|
-
const model = controller.modelRegistry.getModel(outerEditor.getModel());
|
|
525
|
+
const model = controller.modelRegistry.getModel(outerEditor.getModel(), outerEditor);
|
|
526
526
|
if (!model || model.changes.length === 0) {
|
|
527
527
|
return;
|
|
528
528
|
}
|
|
@@ -605,8 +605,7 @@ let DirtyDiffController = class DirtyDiffController extends Disposable {
|
|
|
605
605
|
}
|
|
606
606
|
onDidChangeGutterAction() {
|
|
607
607
|
const gutterAction = this.configurationService.getValue('scm.diffDecorationsGutterAction');
|
|
608
|
-
this.gutterActionDisposables.
|
|
609
|
-
this.gutterActionDisposables = ( new DisposableStore());
|
|
608
|
+
this.gutterActionDisposables.clear();
|
|
610
609
|
if (gutterAction === 'diff') {
|
|
611
610
|
this.gutterActionDisposables.add(this.editor.onMouseDown(e => this.onEditorMouseDown(e)));
|
|
612
611
|
this.gutterActionDisposables.add(this.editor.onMouseUp(e => this.onEditorMouseUp(e)));
|
|
@@ -696,7 +695,7 @@ let DirtyDiffController = class DirtyDiffController extends Disposable {
|
|
|
696
695
|
if (!editorModel) {
|
|
697
696
|
return false;
|
|
698
697
|
}
|
|
699
|
-
const model = this.modelRegistry.getModel(editorModel);
|
|
698
|
+
const model = this.modelRegistry.getModel(editorModel, this.editor);
|
|
700
699
|
if (!model) {
|
|
701
700
|
return false;
|
|
702
701
|
}
|
|
@@ -708,10 +707,9 @@ let DirtyDiffController = class DirtyDiffController extends Disposable {
|
|
|
708
707
|
this.isDirtyDiffVisible.set(true);
|
|
709
708
|
const disposables = ( new DisposableStore());
|
|
710
709
|
disposables.add(Event.once(this.widget.onDidClose)(this.close, this));
|
|
711
|
-
|
|
712
|
-
.
|
|
713
|
-
|
|
714
|
-
.event(this.onDidModelChange, this, disposables);
|
|
710
|
+
const onDidModelChange = Event.chain(model.onDidChange, $ => ( $.filter(e => e.diff.length > 0)
|
|
711
|
+
.map(e => e.diff)));
|
|
712
|
+
onDidModelChange(this.onDidModelChange, this, disposables);
|
|
715
713
|
disposables.add(this.widget);
|
|
716
714
|
disposables.add(toDisposable(() => {
|
|
717
715
|
this.model = null;
|
|
@@ -780,7 +778,7 @@ let DirtyDiffController = class DirtyDiffController extends Disposable {
|
|
|
780
778
|
if (!editorModel) {
|
|
781
779
|
return;
|
|
782
780
|
}
|
|
783
|
-
const model = this.modelRegistry.getModel(editorModel);
|
|
781
|
+
const model = this.modelRegistry.getModel(editorModel, this.editor);
|
|
784
782
|
if (!model) {
|
|
785
783
|
return;
|
|
786
784
|
}
|
|
@@ -802,7 +800,7 @@ let DirtyDiffController = class DirtyDiffController extends Disposable {
|
|
|
802
800
|
if (!this.editor.hasModel()) {
|
|
803
801
|
return [];
|
|
804
802
|
}
|
|
805
|
-
const model = this.modelRegistry.getModel(this.editor.getModel());
|
|
803
|
+
const model = this.modelRegistry.getModel(this.editor.getModel(), this.editor);
|
|
806
804
|
if (!model) {
|
|
807
805
|
return [];
|
|
808
806
|
}
|
|
@@ -27,7 +27,7 @@ let TabCompletionController = class TabCompletionController {
|
|
|
27
27
|
this._activeSnippets = [];
|
|
28
28
|
this._hasSnippets = TabCompletionController_1.ContextKey.bindTo(contextKeyService);
|
|
29
29
|
this._configListener = this._editor.onDidChangeConfiguration(e => {
|
|
30
|
-
if (e.hasChanged(
|
|
30
|
+
if (e.hasChanged(122 )) {
|
|
31
31
|
this._update();
|
|
32
32
|
}
|
|
33
33
|
});
|
|
@@ -38,7 +38,7 @@ let TabCompletionController = class TabCompletionController {
|
|
|
38
38
|
this._selectionListener?.dispose();
|
|
39
39
|
}
|
|
40
40
|
_update() {
|
|
41
|
-
const enabled = this._editor.getOption(
|
|
41
|
+
const enabled = this._editor.getOption(122 ) === 'onlySnippets';
|
|
42
42
|
if (this._enabled !== enabled) {
|
|
43
43
|
this._enabled = enabled;
|
|
44
44
|
if (!this._enabled) {
|
|
@@ -8,7 +8,7 @@ import { SerializeAddon } from '../../../../../../../../external/xterm-addon-ser
|
|
|
8
8
|
import { ImageAddon } from '../../../../../../../../external/xterm-addon-image/typings/xterm-addon-image.js';
|
|
9
9
|
import { IConfigurationService } from '../../../../../platform/configuration/common/configuration.js';
|
|
10
10
|
import { TerminalConfigHelper } from '../terminalConfigHelper.js';
|
|
11
|
-
import {
|
|
11
|
+
import { Disposable } from '../../../../../base/common/lifecycle.js';
|
|
12
12
|
import { IShellIntegration, ITerminalLogService } from '../../../../../platform/terminal/common/terminal.js';
|
|
13
13
|
import { ITerminalFont } from '../../common/terminal.js';
|
|
14
14
|
import { IXtermTerminal, IDetachedXtermTerminal, IInternalXtermTerminal, IMarkTracker, ISuggestController, IXtermColorProvider, IXtermAttachToElementOptions } from '../terminal.js';
|
|
@@ -25,7 +25,7 @@ import { IClipboardService } from '../../../../../platform/clipboard/common/clip
|
|
|
25
25
|
* Wraps the xterm object with additional functionality. Interaction with the backing process is out
|
|
26
26
|
* of the scope of this class.
|
|
27
27
|
*/
|
|
28
|
-
declare class XtermTerminal extends
|
|
28
|
+
declare class XtermTerminal extends Disposable implements IXtermTerminal, IDetachedXtermTerminal, IInternalXtermTerminal {
|
|
29
29
|
private readonly _configHelper;
|
|
30
30
|
private readonly _backgroundColorProvider;
|
|
31
31
|
private readonly _capabilities;
|
|
@@ -16,22 +16,6 @@ var TerminalContextKeys;
|
|
|
16
16
|
"Whether any terminal is focused, including detached terminals used in other UI."
|
|
17
17
|
))
|
|
18
18
|
));
|
|
19
|
-
TerminalContextKeys.accessibleBufferFocus = ( new RawContextKey(
|
|
20
|
-
"terminalAccessibleBufferFocus" ,
|
|
21
|
-
false,
|
|
22
|
-
( localize(
|
|
23
|
-
'terminalAccessibleBufferFocusContextKey',
|
|
24
|
-
"Whether the terminal accessible buffer is focused."
|
|
25
|
-
))
|
|
26
|
-
));
|
|
27
|
-
TerminalContextKeys.accessibleBufferOnLastLine = ( new RawContextKey(
|
|
28
|
-
"terminalAccessibleBufferOnLastLine" ,
|
|
29
|
-
false,
|
|
30
|
-
( localize(
|
|
31
|
-
'terminalAccessibleBufferOnLastLineContextKey',
|
|
32
|
-
"Whether the accessible buffer focus is on the last line."
|
|
33
|
-
))
|
|
34
|
-
));
|
|
35
19
|
TerminalContextKeys.editorFocus = ( new RawContextKey(
|
|
36
20
|
"terminalEditorFocus" ,
|
|
37
21
|
false,
|
|
@@ -12,7 +12,8 @@ class MutableObservableValue extends Disposable {
|
|
|
12
12
|
}
|
|
13
13
|
static stored(stored, defaultValue) {
|
|
14
14
|
const o = ( new MutableObservableValue(stored.get(defaultValue)));
|
|
15
|
-
o.
|
|
15
|
+
o._register(stored);
|
|
16
|
+
o._register(o.onDidChange(value => stored.store(value)));
|
|
16
17
|
return o;
|
|
17
18
|
}
|
|
18
19
|
constructor(_value) {
|
|
@@ -2,6 +2,7 @@ import { DeferredPromise } from 'monaco-editor/esm/vs/base/common/async.js';
|
|
|
2
2
|
import { VSBuffer } from 'monaco-editor/esm/vs/base/common/buffer.js';
|
|
3
3
|
import { Event, Emitter } from 'monaco-editor/esm/vs/base/common/event.js';
|
|
4
4
|
import { Lazy } from 'monaco-editor/esm/vs/base/common/lazy.js';
|
|
5
|
+
import { Disposable } from 'monaco-editor/esm/vs/base/common/lifecycle.js';
|
|
5
6
|
import { language } from 'monaco-editor/esm/vs/base/common/platform.js';
|
|
6
7
|
import { removeAnsiEscapeCodes } from 'monaco-editor/esm/vs/base/common/strings.js';
|
|
7
8
|
import { localize } from 'monaco-editor/esm/vs/nls.js';
|
|
@@ -102,7 +103,7 @@ const itemToNode = (controllerId, item, parent) => ({
|
|
|
102
103
|
ownComputedState: 0 ,
|
|
103
104
|
computedState: 0 ,
|
|
104
105
|
});
|
|
105
|
-
class LiveTestResult {
|
|
106
|
+
class LiveTestResult extends Disposable {
|
|
106
107
|
get completedAt() {
|
|
107
108
|
return this._completedAt;
|
|
108
109
|
}
|
|
@@ -110,13 +111,14 @@ class LiveTestResult {
|
|
|
110
111
|
return ( this.testById.values());
|
|
111
112
|
}
|
|
112
113
|
constructor(id, persist, request) {
|
|
114
|
+
super();
|
|
113
115
|
this.id = id;
|
|
114
116
|
this.persist = persist;
|
|
115
117
|
this.request = request;
|
|
116
|
-
this.completeEmitter = ( new Emitter());
|
|
117
|
-
this.newTaskEmitter = ( new Emitter());
|
|
118
|
-
this.endTaskEmitter = ( new Emitter());
|
|
119
|
-
this.changeEmitter = ( new Emitter());
|
|
118
|
+
this.completeEmitter = this._register(( new Emitter()));
|
|
119
|
+
this.newTaskEmitter = this._register(( new Emitter()));
|
|
120
|
+
this.endTaskEmitter = this._register(( new Emitter()));
|
|
121
|
+
this.changeEmitter = this._register(( new Emitter()));
|
|
120
122
|
this.testById = ( new Map());
|
|
121
123
|
this.testMarkerCounter = 0;
|
|
122
124
|
this.startedAt = Date.now();
|
|
@@ -191,7 +193,7 @@ class LiveTestResult {
|
|
|
191
193
|
}
|
|
192
194
|
}
|
|
193
195
|
addTask(task) {
|
|
194
|
-
this.tasks.push({ ...task, coverage: ( new MutableObservableValue(undefined)), otherMessages: [], output: ( new TaskRawOutput()) });
|
|
196
|
+
this.tasks.push({ ...task, coverage: this._register(( new MutableObservableValue(undefined))), otherMessages: [], output: ( new TaskRawOutput()) });
|
|
195
197
|
for (const test of this.tests) {
|
|
196
198
|
test.tasks.push({ duration: undefined, messages: [], state: 0 });
|
|
197
199
|
}
|
|
@@ -156,14 +156,12 @@ const apiMenus = [
|
|
|
156
156
|
{
|
|
157
157
|
key: 'terminal/context',
|
|
158
158
|
id: MenuId.TerminalInstanceContext,
|
|
159
|
-
description: ( localize('menus.terminalContext', "The terminal context menu"))
|
|
160
|
-
proposed: 'terminalContextMenu'
|
|
159
|
+
description: ( localize('menus.terminalContext', "The terminal context menu"))
|
|
161
160
|
},
|
|
162
161
|
{
|
|
163
162
|
key: 'terminal/title/context',
|
|
164
163
|
id: MenuId.TerminalTabContext,
|
|
165
|
-
description: ( localize('menus.terminalTabContext', "The terminal tabs context menu"))
|
|
166
|
-
proposed: 'terminalContextMenu'
|
|
164
|
+
description: ( localize('menus.terminalTabContext', "The terminal tabs context menu"))
|
|
167
165
|
},
|
|
168
166
|
{
|
|
169
167
|
key: 'view/title',
|
|
@@ -43,10 +43,8 @@ function addAccountUsage(storageService, providerId, accountName, extensionId, e
|
|
|
43
43
|
}
|
|
44
44
|
storageService.store(accountKey, JSON.stringify(usages), -1 , 1 );
|
|
45
45
|
}
|
|
46
|
-
async function getCurrentAuthenticationSessionInfo(
|
|
47
|
-
|
|
48
|
-
const authenticationSessionValue = (await secretStorageService.get(`${productService.urlProtocol}.loginAccount`))
|
|
49
|
-
?? (await credentialsService.getPassword(`${productService.urlProtocol}.login`, 'account'));
|
|
46
|
+
async function getCurrentAuthenticationSessionInfo(secretStorageService, productService) {
|
|
47
|
+
const authenticationSessionValue = await secretStorageService.get(`${productService.urlProtocol}.loginAccount`);
|
|
50
48
|
if (authenticationSessionValue) {
|
|
51
49
|
try {
|
|
52
50
|
const authenticationSessionInfo = JSON.parse(authenticationSessionValue);
|
|
@@ -196,6 +196,7 @@ let DecorationsService = class DecorationsService {
|
|
|
196
196
|
dispose() {
|
|
197
197
|
this._onDidChangeDecorations.dispose();
|
|
198
198
|
this._onDidChangeDecorationsDelayed.dispose();
|
|
199
|
+
this._data.clear();
|
|
199
200
|
}
|
|
200
201
|
registerDecorationsProvider(provider) {
|
|
201
202
|
const rm = this._provider.unshift(provider);
|
|
@@ -276,13 +277,14 @@ let DecorationsService = class DecorationsService {
|
|
|
276
277
|
pendingRequest.source.cancel();
|
|
277
278
|
map.delete(provider);
|
|
278
279
|
}
|
|
279
|
-
const
|
|
280
|
-
const dataOrThenable = provider.provideDecorations(uri,
|
|
280
|
+
const cts = ( new CancellationTokenSource());
|
|
281
|
+
const dataOrThenable = provider.provideDecorations(uri, cts.token);
|
|
281
282
|
if (!isThenable(dataOrThenable)) {
|
|
283
|
+
cts.dispose();
|
|
282
284
|
return this._keepItem(map, provider, uri, dataOrThenable);
|
|
283
285
|
}
|
|
284
286
|
else {
|
|
285
|
-
const request = ( new DecorationDataRequest(
|
|
287
|
+
const request = ( new DecorationDataRequest(cts, Promise.resolve(dataOrThenable).then(data => {
|
|
286
288
|
if (map.get(provider) === request) {
|
|
287
289
|
this._keepItem(map, provider, uri, data);
|
|
288
290
|
}
|
|
@@ -290,6 +292,8 @@ let DecorationsService = class DecorationsService {
|
|
|
290
292
|
if (!isCancellationError(err) && map.get(provider) === request) {
|
|
291
293
|
map.delete(provider);
|
|
292
294
|
}
|
|
295
|
+
}).finally(() => {
|
|
296
|
+
cts.dispose();
|
|
293
297
|
})));
|
|
294
298
|
map.set(provider, request);
|
|
295
299
|
return null;
|
|
@@ -69,9 +69,6 @@ interface EditorGroupLayout {
|
|
|
69
69
|
*/
|
|
70
70
|
groups: GroupLayoutArgument[];
|
|
71
71
|
}
|
|
72
|
-
interface IAddGroupOptions {
|
|
73
|
-
activate?: boolean;
|
|
74
|
-
}
|
|
75
72
|
declare const enum MergeGroupMode {
|
|
76
73
|
COPY_EDITORS = 0,
|
|
77
74
|
MOVE_EDITORS = 1
|
|
@@ -297,9 +294,8 @@ interface IEditorGroupsService {
|
|
|
297
294
|
*
|
|
298
295
|
* @param location the group from which to split to add a new group
|
|
299
296
|
* @param direction the direction of where to split to
|
|
300
|
-
* @param options configure the newly group with options
|
|
301
297
|
*/
|
|
302
|
-
addGroup(location: IEditorGroup | GroupIdentifier, direction: GroupDirection
|
|
298
|
+
addGroup(location: IEditorGroup | GroupIdentifier, direction: GroupDirection): IEditorGroup;
|
|
303
299
|
/**
|
|
304
300
|
* Remove a group from the editor area.
|
|
305
301
|
*/
|
|
@@ -609,4 +605,4 @@ interface IEditorGroup {
|
|
|
609
605
|
focus(): void;
|
|
610
606
|
}
|
|
611
607
|
|
|
612
|
-
export { type EditorGroupLayout, GroupDirection, type GroupLayoutArgument, GroupLocation, GroupOrientation, GroupsArrangement, GroupsOrder, type
|
|
608
|
+
export { type EditorGroupLayout, GroupDirection, type GroupLayoutArgument, GroupLocation, GroupOrientation, GroupsArrangement, GroupsOrder, type ICloseAllEditorsOptions, type ICloseEditorOptions, type ICloseEditorsFilter, type IEditorGroup, IEditorGroupsService, type IEditorReplacement, type IEditorSideGroup, type IFindGroupScope, type IMergeGroupOptions, MergeGroupMode };
|
|
@@ -8,18 +8,20 @@ import { WebWorkerExtensionHost } from './webWorkerExtensionHost.js';
|
|
|
8
8
|
import { checkEnabledAndProposedAPI } from '../common/abstractExtensionService.js';
|
|
9
9
|
import { extensionRunningPreferenceToString, extensionHostKindToString } from '../common/extensionHostKind.js';
|
|
10
10
|
import { filterExtensionDescriptions } from '../common/extensionRunningLocationTracker.js';
|
|
11
|
+
import { ExtensionHostExtensions } from '../common/extensions.js';
|
|
11
12
|
import { RemoteExtensionHost } from '../common/remoteExtensionHost.js';
|
|
12
13
|
import { IRemoteAgentService } from '../../remote/common/remoteAgentService.js';
|
|
13
14
|
var BrowserExtensionHostKindPicker_1;
|
|
14
15
|
let BrowserExtensionHostFactory = class BrowserExtensionHostFactory {
|
|
15
|
-
constructor(_extensionsProposedApi, _scanWebExtensions,
|
|
16
|
+
constructor(_extensionsProposedApi, _scanWebExtensions, _getExtensionRegistrySnapshotWhenReady, _instantiationService, _remoteAgentService, _remoteAuthorityResolverService, _extensionEnablementService, _logService) {
|
|
16
17
|
this._extensionsProposedApi = _extensionsProposedApi;
|
|
17
18
|
this._scanWebExtensions = _scanWebExtensions;
|
|
18
|
-
this.
|
|
19
|
+
this._getExtensionRegistrySnapshotWhenReady = _getExtensionRegistrySnapshotWhenReady;
|
|
19
20
|
this._instantiationService = _instantiationService;
|
|
20
21
|
this._remoteAgentService = _remoteAgentService;
|
|
21
22
|
this._remoteAuthorityResolverService = _remoteAuthorityResolverService;
|
|
22
23
|
this._extensionEnablementService = _extensionEnablementService;
|
|
24
|
+
this._logService = _logService;
|
|
23
25
|
}
|
|
24
26
|
createExtensionHost(runningLocations, runningLocation, isInitialStart) {
|
|
25
27
|
switch (runningLocation.kind) {
|
|
@@ -43,21 +45,17 @@ let BrowserExtensionHostFactory = class BrowserExtensionHostFactory {
|
|
|
43
45
|
return {
|
|
44
46
|
getInitData: async () => {
|
|
45
47
|
if (isInitialStart) {
|
|
46
|
-
const localExtensions = checkEnabledAndProposedAPI(this._extensionEnablementService, this._extensionsProposedApi, await this._scanWebExtensions(), true);
|
|
48
|
+
const localExtensions = checkEnabledAndProposedAPI(this._logService, this._extensionEnablementService, this._extensionsProposedApi, await this._scanWebExtensions(), true);
|
|
47
49
|
const runningLocation = runningLocations.computeRunningLocation(localExtensions, [], false);
|
|
48
50
|
const myExtensions = filterExtensionDescriptions(localExtensions, runningLocation, extRunningLocation => desiredRunningLocation.equals(extRunningLocation));
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
myExtensions: ( myExtensions.map(extension => extension.identifier))
|
|
52
|
-
};
|
|
51
|
+
const extensions = ( new ExtensionHostExtensions(0, localExtensions, ( myExtensions.map(extension => extension.identifier))));
|
|
52
|
+
return { extensions };
|
|
53
53
|
}
|
|
54
54
|
else {
|
|
55
|
-
const
|
|
56
|
-
const myExtensions = runningLocations.filterByRunningLocation(
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
myExtensions: ( myExtensions.map(extension => extension.identifier))
|
|
60
|
-
};
|
|
55
|
+
const snapshot = await this._getExtensionRegistrySnapshotWhenReady();
|
|
56
|
+
const myExtensions = runningLocations.filterByRunningLocation(snapshot.extensions, desiredRunningLocation);
|
|
57
|
+
const extensions = ( new ExtensionHostExtensions(snapshot.versionId, snapshot.extensions, ( myExtensions.map(extension => extension.identifier))));
|
|
58
|
+
return { extensions };
|
|
61
59
|
}
|
|
62
60
|
}
|
|
63
61
|
};
|
|
@@ -66,23 +64,22 @@ let BrowserExtensionHostFactory = class BrowserExtensionHostFactory {
|
|
|
66
64
|
return {
|
|
67
65
|
remoteAuthority: remoteAuthority,
|
|
68
66
|
getInitData: async () => {
|
|
69
|
-
const
|
|
67
|
+
const snapshot = await this._getExtensionRegistrySnapshotWhenReady();
|
|
70
68
|
const remoteEnv = await this._remoteAgentService.getEnvironment();
|
|
71
69
|
if (!remoteEnv) {
|
|
72
70
|
throw new Error('Cannot provide init data for remote extension host!');
|
|
73
71
|
}
|
|
74
|
-
const myExtensions = runningLocations.filterByExtensionHostKind(
|
|
75
|
-
const
|
|
72
|
+
const myExtensions = runningLocations.filterByExtensionHostKind(snapshot.extensions, 3 );
|
|
73
|
+
const extensions = ( new ExtensionHostExtensions(snapshot.versionId, snapshot.extensions, ( myExtensions.map(extension => extension.identifier))));
|
|
74
|
+
return {
|
|
76
75
|
connectionData: this._remoteAuthorityResolverService.getConnectionData(remoteAuthority),
|
|
77
76
|
pid: remoteEnv.pid,
|
|
78
77
|
appRoot: remoteEnv.appRoot,
|
|
79
78
|
extensionHostLogsPath: remoteEnv.extensionHostLogsPath,
|
|
80
79
|
globalStorageHome: remoteEnv.globalStorageHome,
|
|
81
80
|
workspaceStorageHome: remoteEnv.workspaceStorageHome,
|
|
82
|
-
|
|
83
|
-
myExtensions: ( myExtensions.map(extension => extension.identifier)),
|
|
81
|
+
extensions,
|
|
84
82
|
};
|
|
85
|
-
return initData;
|
|
86
83
|
}
|
|
87
84
|
};
|
|
88
85
|
}
|
|
@@ -91,7 +88,8 @@ BrowserExtensionHostFactory = ( __decorate([
|
|
|
91
88
|
( __param(3, IInstantiationService)),
|
|
92
89
|
( __param(4, IRemoteAgentService)),
|
|
93
90
|
( __param(5, IRemoteAuthorityResolverService)),
|
|
94
|
-
( __param(6, IWorkbenchExtensionEnablementService))
|
|
91
|
+
( __param(6, IWorkbenchExtensionEnablementService)),
|
|
92
|
+
( __param(7, ILogService))
|
|
95
93
|
], BrowserExtensionHostFactory));
|
|
96
94
|
let BrowserExtensionHostKindPicker = BrowserExtensionHostKindPicker_1 = class BrowserExtensionHostKindPicker {
|
|
97
95
|
constructor(_logService) {
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { __decorate, __param } from '../../../../../../../external/tslib/tslib.es6.js';
|
|
2
2
|
import * as dom from 'monaco-editor/esm/vs/base/browser/dom.js';
|
|
3
|
+
import { parentOriginHash } from 'monaco-editor/esm/vs/base/browser/iframe.js';
|
|
3
4
|
import { Barrier } from 'monaco-editor/esm/vs/base/common/async.js';
|
|
4
5
|
import { VSBuffer } from 'monaco-editor/esm/vs/base/common/buffer.js';
|
|
5
6
|
import { canceled, onUnexpectedError } from 'monaco-editor/esm/vs/base/common/errors.js';
|
|
@@ -19,10 +20,8 @@ import { ITelemetryService } from 'monaco-editor/esm/vs/platform/telemetry/commo
|
|
|
19
20
|
import { isLoggingOnly } from '../../../../platform/telemetry/common/telemetryUtils.js';
|
|
20
21
|
import { IUserDataProfilesService } from 'monaco-editor/esm/vs/platform/userDataProfile/common/userDataProfile.js';
|
|
21
22
|
import { IWorkspaceContextService } from 'monaco-editor/esm/vs/platform/workspace/common/workspace.js';
|
|
22
|
-
import { parentOriginHash } from '../../../browser/iframe.js';
|
|
23
23
|
import { IBrowserWorkbenchEnvironmentService } from '../../environment/browser/environmentService.js';
|
|
24
24
|
import { isMessageOfType, createMessageOfType, UIKind } from '../common/extensionHostProtocol.js';
|
|
25
|
-
import { ExtensionHostExtensions } from '../common/extensions.js';
|
|
26
25
|
let WebWorkerExtensionHost = class WebWorkerExtensionHost extends Disposable {
|
|
27
26
|
constructor(runningLocation, startup, _initDataProvider, _telemetryService, _contextService, _labelService, _logService, _loggerService, _environmentService, _userDataProfilesService, _productService, _layoutService, _storageService) {
|
|
28
27
|
super();
|
|
@@ -40,7 +39,7 @@ let WebWorkerExtensionHost = class WebWorkerExtensionHost extends Disposable {
|
|
|
40
39
|
this._layoutService = _layoutService;
|
|
41
40
|
this._storageService = _storageService;
|
|
42
41
|
this.remoteAuthority = null;
|
|
43
|
-
this.extensions =
|
|
42
|
+
this.extensions = null;
|
|
44
43
|
this._onDidExit = this._register(( (new Emitter())));
|
|
45
44
|
this.onExit = this._onDidExit.event;
|
|
46
45
|
this._isTerminating = false;
|
|
@@ -91,7 +90,6 @@ let WebWorkerExtensionHost = class WebWorkerExtensionHost extends Disposable {
|
|
|
91
90
|
return this._protocolPromise;
|
|
92
91
|
}
|
|
93
92
|
async _startInsideIframe() {
|
|
94
|
-
const initDataPromise = this._initDataProvider.getInitData();
|
|
95
93
|
const webWorkerExtensionHostIframeSrc = await this._getWebWorkerExtensionHostIframeSrc();
|
|
96
94
|
const emitter = this._register(( (new Emitter())));
|
|
97
95
|
const iframe = document.createElement('iframe');
|
|
@@ -170,14 +168,14 @@ let WebWorkerExtensionHost = class WebWorkerExtensionHost extends Disposable {
|
|
|
170
168
|
port.postMessage(data, [data]);
|
|
171
169
|
}
|
|
172
170
|
};
|
|
173
|
-
return this._performHandshake(protocol
|
|
171
|
+
return this._performHandshake(protocol);
|
|
174
172
|
}
|
|
175
|
-
async _performHandshake(protocol
|
|
173
|
+
async _performHandshake(protocol) {
|
|
176
174
|
await Event.toPromise(Event.filter(protocol.onMessage, msg => isMessageOfType(msg, 1 )));
|
|
177
175
|
if (this._isTerminating) {
|
|
178
176
|
throw canceled();
|
|
179
177
|
}
|
|
180
|
-
protocol.send(VSBuffer.fromString(JSON.stringify(await this._createExtHostInitData(
|
|
178
|
+
protocol.send(VSBuffer.fromString(JSON.stringify(await this._createExtHostInitData())));
|
|
181
179
|
if (this._isTerminating) {
|
|
182
180
|
throw canceled();
|
|
183
181
|
}
|
|
@@ -201,10 +199,10 @@ let WebWorkerExtensionHost = class WebWorkerExtensionHost extends Disposable {
|
|
|
201
199
|
enableInspectPort() {
|
|
202
200
|
return Promise.resolve(false);
|
|
203
201
|
}
|
|
204
|
-
async _createExtHostInitData(
|
|
205
|
-
const initData = await
|
|
202
|
+
async _createExtHostInitData() {
|
|
203
|
+
const initData = await this._initDataProvider.getInitData();
|
|
204
|
+
this.extensions = initData.extensions;
|
|
206
205
|
const workspace = this._contextService.getWorkspace();
|
|
207
|
-
const deltaExtensions = this.extensions.set(initData.allExtensions, initData.myExtensions);
|
|
208
206
|
const nlsBaseUrl = this._productService.extensionsGallery?.nlsBaseUrl;
|
|
209
207
|
let nlsUrlWithDetails = undefined;
|
|
210
208
|
if (nlsBaseUrl && this._productService.commit && !platform.Language.isDefaultVariant()) {
|
|
@@ -239,9 +237,7 @@ let WebWorkerExtensionHost = class WebWorkerExtensionHost extends Disposable {
|
|
|
239
237
|
includeStack: false,
|
|
240
238
|
logNative: this._environmentService.debugRenderer
|
|
241
239
|
},
|
|
242
|
-
|
|
243
|
-
activationEvents: deltaExtensions.addActivationEvents,
|
|
244
|
-
myExtensions: deltaExtensions.myToAdd,
|
|
240
|
+
extensions: this.extensions.toSnapshot(),
|
|
245
241
|
nlsBaseUrl: nlsUrlWithDetails,
|
|
246
242
|
telemetryInfo: {
|
|
247
243
|
sessionId: this._telemetryService.sessionId,
|
|
@@ -14,6 +14,7 @@ import { ITelemetryService } from '../../../../platform/telemetry/common/telemet
|
|
|
14
14
|
import { IWorkspaceContextService } from '../../../../platform/workspace/common/workspace.js';
|
|
15
15
|
import { IWorkbenchEnvironmentService } from '../../environment/common/environmentService.js';
|
|
16
16
|
import { IWorkbenchExtensionEnablementService, IWorkbenchExtensionManagementService } from '../../extensionManagement/common/extensionManagement.js';
|
|
17
|
+
import { ExtensionDescriptionRegistrySnapshot } from './extensionDescriptionRegistry.js';
|
|
17
18
|
import { IExtensionHostKindPicker, ExtensionHostKind } from './extensionHostKind.js';
|
|
18
19
|
import { IExtensionHostManager } from './extensionHostManager.js';
|
|
19
20
|
import { IExtensionManifestPropertiesService } from './extensionManifestPropertiesService.js';
|
|
@@ -110,7 +111,7 @@ declare abstract class AbstractExtensionService extends Disposable implements IE
|
|
|
110
111
|
activationEventIsDone(activationEvent: string): boolean;
|
|
111
112
|
whenInstalledExtensionsRegistered(): Promise<boolean>;
|
|
112
113
|
get extensions(): IExtensionDescription[];
|
|
113
|
-
protected
|
|
114
|
+
protected _getExtensionRegistrySnapshotWhenReady(): Promise<ExtensionDescriptionRegistrySnapshot>;
|
|
114
115
|
getExtension(id: string): Promise<IExtensionDescription | undefined>;
|
|
115
116
|
readExtensionPointContributions<T extends IExtensionContributions[keyof IExtensionContributions]>(extPoint: IExtensionPoint<T>): Promise<ExtensionPointContribution<T>[]>;
|
|
116
117
|
getExtensionsStatus(): {
|