@codingame/monaco-vscode-api 1.83.1 → 1.83.3-next.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/extensions.d.ts +3 -3
- package/extensions.js +31 -33
- package/l10n.d.ts +4 -0
- package/l10n.js +10 -0
- package/missing-services.js +4 -2
- package/monaco-editor-treemending.patch +12268 -1070
- package/monaco-treemending.js +8 -2
- package/package.json +8 -1
- package/service-override/extensions.js +2 -2
- package/service-override/layout.js +2 -2
- package/tools/l10n.js +177 -0
- package/tools.js +22 -1
- package/vscode/src/vs/base/browser/ui/menu/menubar.js +1 -1
- package/vscode/src/vs/base/browser/ui/splitview/paneview.js +2 -2
- package/vscode/src/vs/base/common/date.js +55 -55
- package/vscode/src/vs/base/common/jsonErrorMessages.js +10 -10
- package/vscode/src/vs/base/common/tfIdf.js +137 -0
- package/vscode/src/vs/editor/contrib/quickAccess/browser/commandsQuickAccess.js +23 -0
- package/vscode/src/vs/editor/contrib/quickAccess/browser/editorNavigationQuickAccess.js +115 -0
- package/vscode/src/vs/editor/contrib/quickAccess/browser/gotoLineQuickAccess.js +112 -0
- package/vscode/src/vs/editor/contrib/quickAccess/browser/gotoSymbolQuickAccess.js +334 -0
- package/vscode/src/vs/platform/dialogs/common/dialogs.js +10 -14
- package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.js +3 -0
- package/vscode/src/vs/platform/extensionManagement/common/extensionNls.js +2 -2
- package/vscode/src/vs/platform/files/common/fileService.js +28 -37
- package/vscode/src/vs/platform/files/common/files.js +6 -6
- package/vscode/src/vs/platform/files/common/io.js +2 -2
- package/vscode/src/vs/platform/keyboardLayout/common/keyboardConfig.js +3 -9
- package/vscode/src/vs/platform/quickinput/browser/commandsQuickAccess.js +300 -0
- package/vscode/src/vs/platform/quickinput/browser/helpQuickAccess.js +59 -0
- package/vscode/src/vs/platform/quickinput/browser/pickerQuickAccess.js +212 -0
- package/vscode/src/vs/platform/request/common/request.js +2 -2
- package/vscode/src/vs/platform/theme/common/tokenClassificationRegistry.js +42 -63
- package/vscode/src/vs/platform/workspaces/common/workspaces.js +15 -15
- package/vscode/src/vs/workbench/api/browser/mainThreadAuthentication.js +13 -32
- package/vscode/src/vs/workbench/api/browser/mainThreadComments.js +2 -2
- package/vscode/src/vs/workbench/api/browser/mainThreadCustomEditors.js +50 -52
- package/vscode/src/vs/workbench/api/browser/mainThreadDocumentsAndEditors.js +58 -69
- package/vscode/src/vs/workbench/api/browser/mainThreadEditSessionIdentityParticipant.js +4 -5
- package/vscode/src/vs/workbench/api/browser/mainThreadExtensionService.js +38 -50
- package/vscode/src/vs/workbench/api/browser/mainThreadFileSystem.js +23 -23
- package/vscode/src/vs/workbench/api/browser/mainThreadFileSystemEventService.js +21 -53
- package/vscode/src/vs/workbench/api/browser/mainThreadMessageService.js +4 -4
- package/vscode/src/vs/workbench/api/browser/mainThreadNotebookSaveParticipant.js +4 -5
- package/vscode/src/vs/workbench/api/browser/mainThreadProgress.js +6 -2
- package/vscode/src/vs/workbench/api/browser/mainThreadSaveParticipant.js +4 -2
- package/vscode/src/vs/workbench/api/browser/mainThreadTask.js +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadTunnelService.js +2 -12
- package/vscode/src/vs/workbench/api/browser/mainThreadUriOpeners.js +15 -9
- package/vscode/src/vs/workbench/api/browser/mainThreadWebviews.js +16 -20
- package/vscode/src/vs/workbench/api/browser/mainThreadWorkspace.js +6 -28
- package/vscode/src/vs/workbench/api/browser/statusBarExtensionPoint.js +60 -0
- package/vscode/src/vs/workbench/api/common/extHostChat.js +3 -3
- package/vscode/src/vs/workbench/api/common/extHostCommands.js +59 -65
- package/vscode/src/vs/workbench/api/common/extHostConsoleForwarder.js +8 -8
- package/vscode/src/vs/workbench/api/common/extHostDiagnostics.js +2 -6
- package/vscode/src/vs/workbench/api/common/extHostExtensionService.js +2 -2
- package/vscode/src/vs/workbench/api/common/extHostLanguageFeatures.js +150 -222
- package/vscode/src/vs/workbench/api/common/extHostLogService.js +2 -2
- package/vscode/src/vs/workbench/api/common/extHostNotebook.js +3 -3
- package/vscode/src/vs/workbench/api/common/extHostProgress.js +2 -6
- package/vscode/src/vs/workbench/api/common/extHostSCM.js +54 -58
- package/vscode/src/vs/workbench/api/common/extHostStatusBar.js +3 -7
- package/vscode/src/vs/workbench/api/common/extHostTelemetry.js +2 -6
- package/vscode/src/vs/workbench/api/common/extHostTerminalService.js +2 -6
- package/vscode/src/vs/workbench/api/common/extHostTreeViews.js +55 -57
- package/vscode/src/vs/workbench/api/common/extHostTunnelService.js +28 -28
- package/vscode/src/vs/workbench/api/common/extHostTypeConverters.js +265 -277
- package/vscode/src/vs/workbench/api/common/extHostWorkspace.js +2 -7
- package/vscode/src/vs/workbench/api/common/extensionHostMain.js +17 -19
- package/vscode/src/vs/workbench/api/common/jsonValidationExtensionPoint.js +9 -34
- package/vscode/src/vs/workbench/api/worker/extHostExtensionService.js +5 -5
- package/vscode/src/vs/workbench/browser/actions/layoutActions.js +898 -68
- package/vscode/src/vs/workbench/browser/actions/quickAccessActions.js +7 -7
- package/vscode/src/vs/workbench/browser/actions/windowActions.js +32 -38
- package/vscode/src/vs/workbench/browser/actions/workspaceActions.js +103 -13
- package/vscode/src/vs/workbench/browser/actions/workspaceCommands.js +2 -2
- package/vscode/src/vs/workbench/browser/editor.js +3 -3
- package/vscode/src/vs/workbench/browser/parts/auxiliarybar/auxiliaryBarActions.js +12 -27
- package/vscode/src/vs/workbench/browser/parts/compositeBarActions.js +12 -12
- package/vscode/src/vs/workbench/browser/parts/editor/binaryDiffEditor.js +2 -7
- package/vscode/src/vs/workbench/browser/parts/editor/binaryEditor.js +4 -7
- package/vscode/src/vs/workbench/browser/parts/editor/breadcrumbs.js +42 -90
- package/vscode/src/vs/workbench/browser/parts/editor/editor.contribution.js +140 -272
- package/vscode/src/vs/workbench/browser/parts/editor/editorActions.js +115 -148
- package/vscode/src/vs/workbench/browser/parts/editor/editorCommands.js +21 -33
- package/vscode/src/vs/workbench/browser/parts/editor/editorConfiguration.js +7 -19
- package/vscode/src/vs/workbench/browser/parts/editor/editorPlaceholder.js +10 -26
- package/vscode/src/vs/workbench/browser/parts/editor/editorQuickAccess.js +7 -17
- package/vscode/src/vs/workbench/browser/parts/editor/editorStatus.js +60 -81
- package/vscode/src/vs/workbench/browser/parts/editor/sideBySideEditor.js +27 -33
- package/vscode/src/vs/workbench/browser/parts/editor/textCodeEditor.js +2 -2
- package/vscode/src/vs/workbench/browser/parts/editor/textDiffEditor.js +19 -32
- package/vscode/src/vs/workbench/browser/parts/editor/textEditor.js +2 -2
- package/vscode/src/vs/workbench/browser/parts/notifications/notificationsCommands.js +8 -8
- package/vscode/src/vs/workbench/browser/parts/panel/panelActions.js +69 -34
- package/vscode/src/vs/workbench/browser/parts/titlebar/menubarControl.js +58 -34
- package/vscode/src/vs/workbench/browser/parts/views/viewFilter.js +2 -2
- package/vscode/src/vs/workbench/browser/parts/views/viewPane.js +3 -9
- package/vscode/src/vs/workbench/browser/parts/views/viewPaneContainer.js +6 -6
- package/vscode/src/vs/workbench/browser/parts/views/viewsService.js +7 -11
- package/vscode/src/vs/workbench/browser/quickaccess.js +7 -3
- package/vscode/src/vs/workbench/browser/workbench.contribution.js +186 -683
- package/vscode/src/vs/workbench/common/configuration.js +12 -15
- package/vscode/src/vs/workbench/common/contextkeys.js +272 -90
- package/vscode/src/vs/workbench/common/editor/diffEditorInput.js +2 -2
- package/vscode/src/vs/workbench/common/editor/sideBySideEditorInput.js +2 -7
- package/vscode/src/vs/workbench/common/editor/textEditorModel.js +2 -6
- package/vscode/src/vs/workbench/common/editor.js +5 -5
- package/vscode/src/vs/workbench/common/theme.js +137 -527
- package/vscode/src/vs/workbench/common/views.js +4 -8
- package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibilityConfiguration.js +15 -55
- package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibilityContributions.js +3 -8
- package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibleView.js +22 -60
- package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibleViewActions.js +9 -15
- package/vscode/src/vs/workbench/contrib/bulkEdit/browser/bulkEditService.js +18 -48
- package/vscode/src/vs/workbench/contrib/bulkEdit/browser/bulkFileEdits.js +58 -74
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatActions.js +2 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatAgents.js +5 -10
- package/vscode/src/vs/workbench/contrib/chat/common/chatSlashCommands.js +5 -13
- package/vscode/src/vs/workbench/contrib/codeActions/browser/codeActionsContribution.js +8 -27
- package/vscode/src/vs/workbench/contrib/codeActions/common/codeActionsExtensionPoint.js +5 -17
- package/vscode/src/vs/workbench/contrib/codeActions/common/documentationExtensionPoint.js +6 -15
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/diffEditorHelper.js +7 -20
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/inspectEditorTokens/inspectEditorTokens.js +2 -2
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/languageConfigurationExtensionPoint.js +63 -216
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/largeFileOptimizations.js +4 -7
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/quickaccess/gotoLineQuickAccess.js +5 -8
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/quickaccess/gotoSymbolQuickAccess.js +8 -11
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/saveParticipants.js +5 -15
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleMinimap.js +3 -3
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleMultiCursorModifier.js +5 -5
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleRenderControlCharacter.js +3 -6
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleRenderWhitespace.js +3 -6
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleWordWrap.js +10 -9
- package/vscode/src/vs/workbench/contrib/comments/browser/commentColors.js +6 -15
- package/vscode/src/vs/workbench/contrib/comments/browser/commentGlyphWidget.js +5 -20
- package/vscode/src/vs/workbench/contrib/comments/browser/commentNode.js +3 -10
- package/vscode/src/vs/workbench/contrib/comments/browser/commentReply.js +4 -4
- package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadBody.js +3 -20
- package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadHeader.js +9 -3
- package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadWidget.js +4 -13
- package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadZoneWidget.js +19 -19
- package/vscode/src/vs/workbench/contrib/comments/browser/comments.contribution.js +26 -77
- package/vscode/src/vs/workbench/contrib/comments/browser/commentsController.js +5 -17
- package/vscode/src/vs/workbench/contrib/comments/browser/commentsTreeViewer.js +31 -40
- package/vscode/src/vs/workbench/contrib/comments/browser/commentsView.js +10 -29
- package/vscode/src/vs/workbench/contrib/comments/browser/commentsViewActions.js +10 -10
- package/vscode/src/vs/workbench/contrib/comments/browser/reactionsAction.js +8 -8
- package/vscode/src/vs/workbench/contrib/comments/common/commentContextKeys.js +25 -21
- package/vscode/src/vs/workbench/contrib/comments/common/commentModel.js +2 -2
- package/vscode/src/vs/workbench/contrib/customEditor/common/customEditor.js +1 -4
- package/vscode/src/vs/workbench/contrib/debug/browser/debugColors.js +20 -20
- package/vscode/src/vs/workbench/contrib/debug/browser/debugIcons.js +56 -98
- package/vscode/src/vs/workbench/contrib/debug/common/abstractDebugAdapter.js +2 -2
- package/vscode/src/vs/workbench/contrib/debug/common/debug.js +96 -180
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsIcons.js +25 -79
- package/vscode/src/vs/workbench/contrib/externalUriOpener/common/configuration.js +4 -15
- package/vscode/src/vs/workbench/contrib/externalUriOpener/common/externalUriOpenerService.js +4 -8
- package/vscode/src/vs/workbench/contrib/files/browser/explorerViewlet.js +56 -19
- package/vscode/src/vs/workbench/contrib/files/browser/fileActions.js +76 -230
- package/vscode/src/vs/workbench/contrib/files/browser/fileConstants.js +6 -5
- package/vscode/src/vs/workbench/contrib/files/browser/fileImportExport.js +33 -103
- package/vscode/src/vs/workbench/contrib/files/browser/files.contribution.js +228 -99
- package/vscode/src/vs/workbench/contrib/files/browser/views/emptyView.js +1 -1
- package/vscode/src/vs/workbench/contrib/files/browser/views/explorerDecorationsProvider.js +5 -9
- package/vscode/src/vs/workbench/contrib/files/browser/views/explorerView.js +5 -5
- package/vscode/src/vs/workbench/contrib/files/browser/views/explorerViewer.js +15 -35
- package/vscode/src/vs/workbench/contrib/files/browser/views/openEditorsView.js +5 -8
- package/vscode/src/vs/workbench/contrib/files/common/files.js +27 -48
- package/vscode/src/vs/workbench/contrib/folding/browser/folding.contribution.js +3 -6
- package/vscode/src/vs/workbench/contrib/format/browser/formatModified.js +1 -1
- package/vscode/src/vs/workbench/contrib/inlayHints/browser/inlayHintsAccessibilty.js +5 -8
- package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.js +112 -52
- package/vscode/src/vs/workbench/contrib/keybindings/browser/keybindings.contribution.js +1 -1
- package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeEditorInput.js +2 -2
- package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeEditorInputModel.js +30 -96
- package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/mapping.js +73 -126
- package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/mergeEditorModel.js +3 -3
- package/vscode/src/vs/workbench/contrib/mergeEditor/common/mergeEditor.js +42 -0
- package/vscode/src/vs/workbench/contrib/output/browser/output.contribution.js +23 -29
- package/vscode/src/vs/workbench/contrib/output/browser/outputView.js +3 -3
- package/vscode/src/vs/workbench/contrib/quickaccess/browser/commandsQuickAccess.js +13 -16
- package/vscode/src/vs/workbench/contrib/quickaccess/browser/quickAccess.contribution.js +15 -34
- package/vscode/src/vs/workbench/contrib/quickaccess/browser/viewQuickAccess.js +12 -17
- package/vscode/src/vs/workbench/contrib/scm/browser/dirtyDiffSwitcher.js +2 -2
- package/vscode/src/vs/workbench/contrib/scm/browser/dirtydiffDecorator.js +26 -75
- package/vscode/src/vs/workbench/contrib/snippets/browser/snippetCompletionProvider.js +4 -19
- package/vscode/src/vs/workbench/contrib/snippets/browser/snippetsFile.js +4 -4
- package/vscode/src/vs/workbench/contrib/snippets/browser/snippetsService.js +60 -99
- package/vscode/src/vs/workbench/contrib/tasks/common/taskDefinitionRegistry.js +5 -14
- package/vscode/src/vs/workbench/contrib/tasks/common/taskService.js +26 -13
- package/vscode/src/vs/workbench/contrib/tasks/common/tasks.js +88 -96
- package/vscode/src/vs/workbench/contrib/terminal/browser/terminalEditorInput.js +5 -17
- package/vscode/src/vs/workbench/contrib/terminal/common/terminal.js +7 -28
- package/vscode/src/vs/workbench/contrib/terminal/common/terminalColorRegistry.js +21 -78
- package/vscode/src/vs/workbench/contrib/terminal/common/terminalContextKey.js +21 -53
- package/vscode/src/vs/workbench/contrib/testing/common/testResult.js +2 -2
- package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewEditor.js +2 -5
- package/vscode/src/vs/workbench/services/actions/common/menusExtensionPoint.js +113 -348
- package/vscode/src/vs/workbench/services/assignment/common/assignmentService.js +2 -5
- package/vscode/src/vs/workbench/services/authentication/browser/authenticationService.js +31 -1
- package/vscode/src/vs/workbench/services/configuration/common/jsonEditingService.js +1 -4
- package/vscode/src/vs/workbench/services/configurationResolver/common/variableResolver.js +16 -16
- package/vscode/src/vs/workbench/services/decorations/browser/decorationsService.js +2 -2
- package/vscode/src/vs/workbench/services/editor/common/editorResolverService.js +2 -5
- package/vscode/src/vs/workbench/services/extensions/browser/extensionUrlHandler.js +4 -4
- package/vscode/src/vs/workbench/services/extensions/browser/webWorkerExtensionHost.js +27 -29
- package/vscode/src/vs/workbench/services/extensions/common/abstractExtensionService.js +104 -141
- package/vscode/src/vs/workbench/services/extensions/common/extensionHostManager.js +35 -39
- package/vscode/src/vs/workbench/services/extensions/common/extensionRunningLocationTracker.js +25 -25
- package/vscode/src/vs/workbench/services/extensions/common/extensionsRegistry.js +80 -296
- package/vscode/src/vs/workbench/services/filesConfiguration/common/filesConfigurationService.js +6 -21
- package/vscode/src/vs/workbench/services/host/browser/browserHostService.js +3 -6
- package/vscode/src/vs/workbench/services/keybinding/browser/keybindingService.js +24 -81
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayoutService.js +2 -2
- package/vscode/src/vs/workbench/services/keybinding/common/keybindingEditing.js +11 -17
- package/vscode/src/vs/workbench/services/keybinding/common/macLinuxKeyboardMapper.js +30 -32
- package/vscode/src/vs/workbench/services/language/common/languageService.js +23 -98
- package/vscode/src/vs/workbench/services/remote/common/tunnelModel.js +83 -95
- package/vscode/src/vs/workbench/services/search/common/queryBuilder.js +1 -5
- package/vscode/src/vs/workbench/services/textfile/browser/textFileService.js +11 -23
- package/vscode/src/vs/workbench/services/textfile/common/textFileEditorModel.js +32 -32
- package/vscode/src/vs/workbench/services/textfile/common/textFileEditorModelManager.js +2 -7
- package/vscode/src/vs/workbench/services/textfile/common/textFileSaveParticipant.js +2 -2
- package/vscode/src/vs/workbench/services/themes/common/colorExtensionPoint.js +16 -53
- package/vscode/src/vs/workbench/services/themes/common/iconExtensionPoint.js +50 -1
- package/vscode/src/vs/workbench/services/themes/common/tokenClassificationExtensionPoint.js +25 -99
- package/vscode/src/vs/workbench/services/untitled/common/untitledTextEditorService.js +16 -16
- package/vscode/src/vs/workbench/services/userDataProfile/common/userDataProfile.js +6 -3
- package/vscode/src/vs/workbench/services/userDataSync/common/userDataSync.js +15 -3
- package/vscode/src/vs/workbench/services/workingCopy/common/storedFileWorkingCopySaveParticipant.js +2 -2
- package/vscode/src/vs/workbench/services/workingCopy/common/workingCopyBackupService.js +32 -42
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { localizeWithPath } from 'monaco-editor/esm/vs/nls.js';
|
|
2
2
|
import { basename } from 'monaco-editor/esm/vs/base/common/resources.js';
|
|
3
3
|
import { URI } from 'monaco-editor/esm/vs/base/common/uri.js';
|
|
4
4
|
import { Emitter, Event } from 'monaco-editor/esm/vs/base/common/event.js';
|
|
@@ -35,8 +35,8 @@ class ExtHostTreeViews extends Disposable {
|
|
|
35
35
|
this._proxy = _proxy;
|
|
36
36
|
this.commands = commands;
|
|
37
37
|
this.logService = logService;
|
|
38
|
-
this.treeViews = (
|
|
39
|
-
this.treeDragAndDropService = (
|
|
38
|
+
this.treeViews = ( new Map());
|
|
39
|
+
this.treeDragAndDropService = ( new TreeViewsDnDService());
|
|
40
40
|
function isTreeViewConvertableItem(arg) {
|
|
41
41
|
return arg && arg.$treeViewId && (arg.$treeItemHandle || arg.$selectedTreeItems || arg.$focusedTreeItem);
|
|
42
42
|
}
|
|
@@ -46,14 +46,12 @@ class ExtHostTreeViews extends Disposable {
|
|
|
46
46
|
return this.convertArgument(arg);
|
|
47
47
|
}
|
|
48
48
|
else if (Array.isArray(arg) && (arg.length > 0)) {
|
|
49
|
-
return (
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
}))
|
|
56
|
-
);
|
|
49
|
+
return ( arg.map(item => {
|
|
50
|
+
if (isTreeViewConvertableItem(item)) {
|
|
51
|
+
return this.convertArgument(item);
|
|
52
|
+
}
|
|
53
|
+
return item;
|
|
54
|
+
}));
|
|
57
55
|
}
|
|
58
56
|
return arg;
|
|
59
57
|
}
|
|
@@ -138,14 +136,14 @@ class ExtHostTreeViews extends Disposable {
|
|
|
138
136
|
$getChildren(treeViewId, treeItemHandle) {
|
|
139
137
|
const treeView = this.treeViews.get(treeViewId);
|
|
140
138
|
if (!treeView) {
|
|
141
|
-
return Promise.reject((
|
|
139
|
+
return Promise.reject(( new NoTreeViewError(treeViewId)));
|
|
142
140
|
}
|
|
143
141
|
return treeView.getChildren(treeItemHandle);
|
|
144
142
|
}
|
|
145
143
|
async $handleDrop(destinationViewId, requestId, treeDataTransferDTO, targetItemHandle, token, operationUuid, sourceViewId, sourceTreeItemHandles) {
|
|
146
144
|
const treeView = this.treeViews.get(destinationViewId);
|
|
147
145
|
if (!treeView) {
|
|
148
|
-
return Promise.reject((
|
|
146
|
+
return Promise.reject(( new NoTreeViewError(destinationViewId)));
|
|
149
147
|
}
|
|
150
148
|
const treeDataTransfer = DataTransfer.toDataTransfer(treeDataTransferDTO, async (dataItemIndex) => {
|
|
151
149
|
return (await this._proxy.$resolveDropFileData(destinationViewId, requestId, dataItemIndex)).buffer;
|
|
@@ -174,7 +172,7 @@ class ExtHostTreeViews extends Disposable {
|
|
|
174
172
|
async $handleDrag(sourceViewId, sourceTreeItemHandles, operationUuid, token) {
|
|
175
173
|
const treeView = this.treeViews.get(sourceViewId);
|
|
176
174
|
if (!treeView) {
|
|
177
|
-
return Promise.reject((
|
|
175
|
+
return Promise.reject(( new NoTreeViewError(sourceViewId)));
|
|
178
176
|
}
|
|
179
177
|
const treeDataTransfer = await this.addAdditionalTransferItems(new DataTransfer$1(), treeView, sourceTreeItemHandles, token, operationUuid);
|
|
180
178
|
if (!treeDataTransfer || token.isCancellationRequested) {
|
|
@@ -228,14 +226,14 @@ class ExtHostTreeViews extends Disposable {
|
|
|
228
226
|
treeView.setCheckboxState(checkboxUpdate);
|
|
229
227
|
}
|
|
230
228
|
createExtHostTreeView(id, options, extension) {
|
|
231
|
-
const treeView = this._register((
|
|
229
|
+
const treeView = this._register(( new ExtHostTreeView(
|
|
232
230
|
id,
|
|
233
231
|
options,
|
|
234
232
|
this._proxy,
|
|
235
233
|
this.commands.converter,
|
|
236
234
|
this.logService,
|
|
237
235
|
extension
|
|
238
|
-
)))
|
|
236
|
+
)));
|
|
239
237
|
this.treeViews.set(id, treeView);
|
|
240
238
|
return treeView;
|
|
241
239
|
}
|
|
@@ -254,7 +252,7 @@ class ExtHostTreeView extends Disposable {
|
|
|
254
252
|
static { this.LABEL_HANDLE_PREFIX = '0'; }
|
|
255
253
|
static { this.ID_HANDLE_PREFIX = '1'; }
|
|
256
254
|
get visible() { return this._visible; }
|
|
257
|
-
get selectedElements() { return (
|
|
255
|
+
get selectedElements() { return ( this._selectedHandles.map(handle => this.getExtensionElement(handle))).filter(element => !isUndefinedOrNull(element)); }
|
|
258
256
|
get focusedElement() { return (this._focusedHandle ? this.getExtensionElement(this._focusedHandle) : undefined); }
|
|
259
257
|
constructor(viewId, options, proxy, commands, logService, extension) {
|
|
260
258
|
super();
|
|
@@ -264,29 +262,29 @@ class ExtHostTreeView extends Disposable {
|
|
|
264
262
|
this.logService = logService;
|
|
265
263
|
this.extension = extension;
|
|
266
264
|
this.roots = undefined;
|
|
267
|
-
this.elements = (
|
|
268
|
-
this.nodes = (
|
|
265
|
+
this.elements = ( new Map());
|
|
266
|
+
this.nodes = ( new Map());
|
|
269
267
|
this._visible = false;
|
|
270
268
|
this._selectedHandles = [];
|
|
271
269
|
this._focusedHandle = undefined;
|
|
272
|
-
this._onDidExpandElement = this._register((
|
|
270
|
+
this._onDidExpandElement = this._register(( new Emitter()));
|
|
273
271
|
this.onDidExpandElement = this._onDidExpandElement.event;
|
|
274
|
-
this._onDidCollapseElement = this._register((
|
|
272
|
+
this._onDidCollapseElement = this._register(( new Emitter()));
|
|
275
273
|
this.onDidCollapseElement = this._onDidCollapseElement.event;
|
|
276
|
-
this._onDidChangeSelection = this._register((
|
|
274
|
+
this._onDidChangeSelection = this._register(( new Emitter()));
|
|
277
275
|
this.onDidChangeSelection = this._onDidChangeSelection.event;
|
|
278
|
-
this._onDidChangeActiveItem = this._register((
|
|
276
|
+
this._onDidChangeActiveItem = this._register(( new Emitter()));
|
|
279
277
|
this.onDidChangeActiveItem = this._onDidChangeActiveItem.event;
|
|
280
|
-
this._onDidChangeVisibility = this._register((
|
|
278
|
+
this._onDidChangeVisibility = this._register(( new Emitter()));
|
|
281
279
|
this.onDidChangeVisibility = this._onDidChangeVisibility.event;
|
|
282
|
-
this._onDidChangeCheckboxState = this._register((
|
|
280
|
+
this._onDidChangeCheckboxState = this._register(( new Emitter()));
|
|
283
281
|
this.onDidChangeCheckboxState = this._onDidChangeCheckboxState.event;
|
|
284
|
-
this._onDidChangeData = this._register((
|
|
282
|
+
this._onDidChangeData = this._register(( new Emitter()));
|
|
285
283
|
this.refreshPromise = Promise.resolve();
|
|
286
284
|
this.refreshQueue = Promise.resolve();
|
|
287
285
|
this._message = '';
|
|
288
286
|
this._title = '';
|
|
289
|
-
this._refreshCancellationSource = (
|
|
287
|
+
this._refreshCancellationSource = ( new CancellationTokenSource());
|
|
290
288
|
if (extension.contributes && extension.contributes.views) {
|
|
291
289
|
for (const location in extension.contributes.views) {
|
|
292
290
|
for (const view of extension.contributes.views[location]) {
|
|
@@ -309,7 +307,7 @@ class ExtHostTreeView extends Disposable {
|
|
|
309
307
|
}
|
|
310
308
|
if (current.element !== false) {
|
|
311
309
|
if (!refreshingPromise) {
|
|
312
|
-
refreshingPromise = (
|
|
310
|
+
refreshingPromise = ( new Promise(c => promiseCallback = c));
|
|
313
311
|
this.refreshPromise = this.refreshPromise.then(() => refreshingPromise);
|
|
314
312
|
}
|
|
315
313
|
if (Array.isArray(current.element)) {
|
|
@@ -347,7 +345,7 @@ class ExtHostTreeView extends Disposable {
|
|
|
347
345
|
if (!childrenNodes) {
|
|
348
346
|
childrenNodes = await this.fetchChildrenNodes(parentElement);
|
|
349
347
|
}
|
|
350
|
-
return childrenNodes ? (
|
|
348
|
+
return childrenNodes ? ( childrenNodes.map(n => n.item)) : undefined;
|
|
351
349
|
}
|
|
352
350
|
getExtensionElement(treeItemHandle) {
|
|
353
351
|
return this.elements.get(treeItemHandle);
|
|
@@ -358,15 +356,15 @@ class ExtHostTreeView extends Disposable {
|
|
|
358
356
|
const focus = isUndefinedOrNull(options.focus) ? false : options.focus;
|
|
359
357
|
const expand = isUndefinedOrNull(options.expand) ? false : options.expand;
|
|
360
358
|
if (typeof this.dataProvider.getParent !== 'function') {
|
|
361
|
-
return Promise.reject((
|
|
359
|
+
return Promise.reject(( new Error(
|
|
362
360
|
`Required registered TreeDataProvider to implement 'getParent' method to access 'reveal' method`
|
|
363
|
-
)))
|
|
361
|
+
)));
|
|
364
362
|
}
|
|
365
363
|
if (element) {
|
|
366
364
|
return this.refreshPromise
|
|
367
365
|
.then(() => this.resolveUnknownParentChain(element))
|
|
368
366
|
.then(parentChain => this.resolveTreeNode(element, parentChain[parentChain.length - 1])
|
|
369
|
-
.then(treeNode => this.proxy.$reveal(this.viewId, { item: treeNode.item, parentChain: (
|
|
367
|
+
.then(treeNode => this.proxy.$reveal(this.viewId, { item: treeNode.item, parentChain: ( parentChain.map(p => p.item)) }, { select, focus, expand })), error => this.logService.error(error));
|
|
370
368
|
}
|
|
371
369
|
else {
|
|
372
370
|
return this.proxy.$reveal(this.viewId, undefined, { select, focus, expand });
|
|
@@ -408,10 +406,10 @@ class ExtHostTreeView extends Disposable {
|
|
|
408
406
|
const element = this.getExtensionElement(treeItemHandle);
|
|
409
407
|
if (element) {
|
|
410
408
|
if (expanded) {
|
|
411
|
-
this._onDidExpandElement.fire((
|
|
409
|
+
this._onDidExpandElement.fire(( Object.freeze({ element })));
|
|
412
410
|
}
|
|
413
411
|
else {
|
|
414
|
-
this._onDidCollapseElement.fire((
|
|
412
|
+
this._onDidCollapseElement.fire(( Object.freeze({ element })));
|
|
415
413
|
}
|
|
416
414
|
}
|
|
417
415
|
}
|
|
@@ -421,20 +419,20 @@ class ExtHostTreeView extends Disposable {
|
|
|
421
419
|
const changedFocus = this._focusedHandle !== focusedHandle;
|
|
422
420
|
this._focusedHandle = focusedHandle;
|
|
423
421
|
if (changedSelection) {
|
|
424
|
-
this._onDidChangeSelection.fire((
|
|
422
|
+
this._onDidChangeSelection.fire(( Object.freeze({ selection: this.selectedElements })));
|
|
425
423
|
}
|
|
426
424
|
if (changedFocus) {
|
|
427
|
-
this._onDidChangeActiveItem.fire((
|
|
425
|
+
this._onDidChangeActiveItem.fire(( Object.freeze({ activeItem: this.focusedElement })));
|
|
428
426
|
}
|
|
429
427
|
}
|
|
430
428
|
setVisible(visible) {
|
|
431
429
|
if (visible !== this._visible) {
|
|
432
430
|
this._visible = visible;
|
|
433
|
-
this._onDidChangeVisibility.fire((
|
|
431
|
+
this._onDidChangeVisibility.fire(( Object.freeze({ visible: this._visible })));
|
|
434
432
|
}
|
|
435
433
|
}
|
|
436
434
|
async setCheckboxState(checkboxUpdates) {
|
|
437
|
-
const items = (await Promise.all((
|
|
435
|
+
const items = (await Promise.all(( checkboxUpdates.map(async (checkboxUpdate) => {
|
|
438
436
|
const extensionItem = this.getExtensionElement(checkboxUpdate.treeItemHandle);
|
|
439
437
|
if (extensionItem) {
|
|
440
438
|
return {
|
|
@@ -444,11 +442,11 @@ class ExtHostTreeView extends Disposable {
|
|
|
444
442
|
};
|
|
445
443
|
}
|
|
446
444
|
return Promise.resolve(undefined);
|
|
447
|
-
}))))
|
|
445
|
+
})))).filter((item) => item !== undefined);
|
|
448
446
|
items.forEach(item => {
|
|
449
447
|
item.treeItem.checkboxState = item.newState ? TreeItemCheckboxState.Checked : TreeItemCheckboxState.Unchecked;
|
|
450
448
|
});
|
|
451
|
-
this._onDidChangeCheckboxState.fire({ items: (
|
|
449
|
+
this._onDidChangeCheckboxState.fire({ items: ( items.map(item => [item.extensionItem, item.newState])) });
|
|
452
450
|
}
|
|
453
451
|
async handleDrag(sourceTreeItemHandles, treeDataTransfer, token) {
|
|
454
452
|
const extensionTreeItems = [];
|
|
@@ -552,17 +550,17 @@ class ExtHostTreeView extends Disposable {
|
|
|
552
550
|
}
|
|
553
551
|
async fetchChildrenNodes(parentElement) {
|
|
554
552
|
this.clearChildren(parentElement);
|
|
555
|
-
const cts = (
|
|
553
|
+
const cts = ( new CancellationTokenSource(this._refreshCancellationSource.token));
|
|
556
554
|
try {
|
|
557
555
|
const parentNode = parentElement ? this.nodes.get(parentElement) : undefined;
|
|
558
556
|
const elements = await this.dataProvider.getChildren(parentElement);
|
|
559
557
|
if (cts.token.isCancellationRequested) {
|
|
560
558
|
return undefined;
|
|
561
559
|
}
|
|
562
|
-
const items = await Promise.all((
|
|
560
|
+
const items = await Promise.all(( coalesce(elements || []).map(async (element) => {
|
|
563
561
|
const item = await this.dataProvider.getTreeItem(element);
|
|
564
562
|
return item && !cts.token.isCancellationRequested ? this.createAndRegisterTreeNode(element, item, parentNode) : null;
|
|
565
|
-
})))
|
|
563
|
+
})));
|
|
566
564
|
if (cts.token.isCancellationRequested) {
|
|
567
565
|
return undefined;
|
|
568
566
|
}
|
|
@@ -573,10 +571,10 @@ class ExtHostTreeView extends Disposable {
|
|
|
573
571
|
}
|
|
574
572
|
}
|
|
575
573
|
refresh(elements) {
|
|
576
|
-
const hasRoot = (
|
|
574
|
+
const hasRoot = ( elements.some(element => !element));
|
|
577
575
|
if (hasRoot) {
|
|
578
576
|
this._refreshCancellationSource.dispose(true);
|
|
579
|
-
this._refreshCancellationSource = (
|
|
577
|
+
this._refreshCancellationSource = ( new CancellationTokenSource());
|
|
580
578
|
this.clearAll();
|
|
581
579
|
return this.proxy.$refresh(this.viewId);
|
|
582
580
|
}
|
|
@@ -589,10 +587,10 @@ class ExtHostTreeView extends Disposable {
|
|
|
589
587
|
return Promise.resolve(undefined);
|
|
590
588
|
}
|
|
591
589
|
getHandlesToRefresh(elements) {
|
|
592
|
-
const elementsToUpdate = (
|
|
593
|
-
const elementNodes = (
|
|
590
|
+
const elementsToUpdate = ( new Set());
|
|
591
|
+
const elementNodes = ( elements.map(element => this.nodes.get(element)));
|
|
594
592
|
for (const elementNode of elementNodes) {
|
|
595
|
-
if (elementNode && !(
|
|
593
|
+
if (elementNode && !( elementsToUpdate.has(elementNode.item.handle))) {
|
|
596
594
|
let currentNode = elementNode;
|
|
597
595
|
while (currentNode && currentNode.parent && elementNodes.findIndex(node => currentNode && currentNode.parent && node && node.item.handle === currentNode.parent.item.handle) === -1) {
|
|
598
596
|
const parentElement = this.elements.get(currentNode.parent.item.handle);
|
|
@@ -608,7 +606,7 @@ class ExtHostTreeView extends Disposable {
|
|
|
608
606
|
const element = this.elements.get(handle);
|
|
609
607
|
if (element) {
|
|
610
608
|
const node = this.nodes.get(element);
|
|
611
|
-
if (node && (!node.parent || !(
|
|
609
|
+
if (node && (!node.parent || !( elementsToUpdate.has(node.parent.item.handle)))) {
|
|
612
610
|
handlesToUpdate.push(handle);
|
|
613
611
|
}
|
|
614
612
|
}
|
|
@@ -617,13 +615,13 @@ class ExtHostTreeView extends Disposable {
|
|
|
617
615
|
}
|
|
618
616
|
refreshHandles(itemHandles) {
|
|
619
617
|
const itemsToRefresh = {};
|
|
620
|
-
return Promise.all((
|
|
618
|
+
return Promise.all(( itemHandles.map(treeItemHandle => this.refreshNode(treeItemHandle)
|
|
621
619
|
.then(node => {
|
|
622
620
|
if (node) {
|
|
623
621
|
itemsToRefresh[treeItemHandle] = node.item;
|
|
624
622
|
}
|
|
625
|
-
}))))
|
|
626
|
-
.then(() => (
|
|
623
|
+
}))))
|
|
624
|
+
.then(() => ( Object.keys(itemsToRefresh)).length ? this.proxy.$refresh(this.viewId, itemsToRefresh) : undefined);
|
|
627
625
|
}
|
|
628
626
|
refreshNode(treeItemHandle) {
|
|
629
627
|
const extElement = this.getExtensionElement(treeItemHandle);
|
|
@@ -647,8 +645,8 @@ class ExtHostTreeView extends Disposable {
|
|
|
647
645
|
}
|
|
648
646
|
createAndRegisterTreeNode(element, extTreeItem, parentNode) {
|
|
649
647
|
const node = this.createTreeNode(element, extTreeItem, parentNode);
|
|
650
|
-
if (extTreeItem.id && (
|
|
651
|
-
throw new Error(
|
|
648
|
+
if (extTreeItem.id && ( this.elements.has(node.item.handle))) {
|
|
649
|
+
throw new Error(localizeWithPath('vs/workbench/api/common/extHostTreeViews', 'treeView.duplicateElement', 'Element with id {0} is already registered', extTreeItem.id));
|
|
652
650
|
}
|
|
653
651
|
this.addNodeToCache(element, node);
|
|
654
652
|
this.addNodeToParentCache(node, parentNode);
|
|
@@ -687,7 +685,7 @@ class ExtHostTreeView extends Disposable {
|
|
|
687
685
|
}
|
|
688
686
|
createTreeNode(element, extensionTreeItem, parent) {
|
|
689
687
|
this.validateTreeItem(extensionTreeItem);
|
|
690
|
-
const disposableStore = this._register((
|
|
688
|
+
const disposableStore = this._register(( new DisposableStore()));
|
|
691
689
|
const handle = this.createHandle(element, extensionTreeItem, parent);
|
|
692
690
|
const icon = this.getLightIconPath(extensionTreeItem);
|
|
693
691
|
const item = {
|
|
@@ -726,13 +724,13 @@ class ExtHostTreeView extends Disposable {
|
|
|
726
724
|
const prefix = parent ? parent.item.handle : ExtHostTreeView.LABEL_HANDLE_PREFIX;
|
|
727
725
|
let elementId = treeItemLabel ? treeItemLabel.label : resourceUri ? basename(resourceUri) : '';
|
|
728
726
|
elementId = elementId.indexOf('/') !== -1 ? elementId.replace('/', '//') : elementId;
|
|
729
|
-
const existingHandle = (
|
|
727
|
+
const existingHandle = ( this.nodes.has(element)) ? this.nodes.get(element).item.handle : undefined;
|
|
730
728
|
const childrenNodes = (this.getChildrenNodes(parent) || []);
|
|
731
729
|
let handle;
|
|
732
730
|
let counter = 0;
|
|
733
731
|
do {
|
|
734
732
|
handle = `${prefix}/${counter}:${elementId}`;
|
|
735
|
-
if (returnFirst || !(
|
|
733
|
+
if (returnFirst || !( this.elements.has(handle)) || existingHandle === handle) {
|
|
736
734
|
break;
|
|
737
735
|
}
|
|
738
736
|
counter++;
|
|
@@ -13,7 +13,7 @@ import { Disposable as Disposable$1 } from './extHostTypes.js';
|
|
|
13
13
|
class ExtensionTunnel extends DisposableTunnel {
|
|
14
14
|
}
|
|
15
15
|
var TunnelDtoConverter;
|
|
16
|
-
( (
|
|
16
|
+
( (function(TunnelDtoConverter) {
|
|
17
17
|
function fromApiTunnel(tunnel) {
|
|
18
18
|
return {
|
|
19
19
|
remoteAddress: tunnel.remoteAddress,
|
|
@@ -37,27 +37,27 @@ var TunnelDtoConverter;
|
|
|
37
37
|
};
|
|
38
38
|
}
|
|
39
39
|
TunnelDtoConverter.fromServiceTunnel = fromServiceTunnel;
|
|
40
|
-
})(TunnelDtoConverter || (TunnelDtoConverter = {})))
|
|
41
|
-
const IExtHostTunnelService = (
|
|
40
|
+
})(TunnelDtoConverter || (TunnelDtoConverter = {})));
|
|
41
|
+
const IExtHostTunnelService = ( createDecorator('IExtHostTunnelService'));
|
|
42
42
|
let ExtHostTunnelService = class ExtHostTunnelService extends Disposable {
|
|
43
43
|
constructor(extHostRpc, initData, logService) {
|
|
44
44
|
super();
|
|
45
45
|
this.logService = logService;
|
|
46
46
|
this._showCandidatePort = () => { return Promise.resolve(true); };
|
|
47
|
-
this._extensionTunnels = (
|
|
48
|
-
this._onDidChangeTunnels = (
|
|
47
|
+
this._extensionTunnels = ( new Map());
|
|
48
|
+
this._onDidChangeTunnels = ( new Emitter());
|
|
49
49
|
this.onDidChangeTunnels = this._onDidChangeTunnels.event;
|
|
50
50
|
this._providerHandleCounter = 0;
|
|
51
|
-
this._portAttributesProviders = (
|
|
52
|
-
this._proxy = (
|
|
51
|
+
this._portAttributesProviders = ( new Map());
|
|
52
|
+
this._proxy = ( extHostRpc.getProxy(MainContext.MainThreadTunnelService));
|
|
53
53
|
}
|
|
54
54
|
async openTunnel(extension, forward) {
|
|
55
55
|
this.logService.trace(`ForwardedPorts: (ExtHostTunnelService) ${extension.identifier.value} called openTunnel API for ${forward.remoteAddress.host}:${forward.remoteAddress.port}.`);
|
|
56
56
|
const tunnel = await this._proxy.$openTunnel(forward, extension.displayName);
|
|
57
57
|
if (tunnel) {
|
|
58
|
-
const disposableTunnel = (
|
|
58
|
+
const disposableTunnel = ( new ExtensionTunnel(tunnel.remoteAddress, tunnel.localAddress, () => {
|
|
59
59
|
return this._proxy.$closeTunnel(tunnel.remoteAddress);
|
|
60
|
-
}))
|
|
60
|
+
}));
|
|
61
61
|
this._register(disposableTunnel);
|
|
62
62
|
return disposableTunnel;
|
|
63
63
|
}
|
|
@@ -85,7 +85,7 @@ let ExtHostTunnelService = class ExtHostTunnelService extends Disposable {
|
|
|
85
85
|
if (!provider) {
|
|
86
86
|
return [];
|
|
87
87
|
}
|
|
88
|
-
providedAttributes.push(...(await Promise.all((
|
|
88
|
+
providedAttributes.push(...(await Promise.all(( ports.map(async (port) => {
|
|
89
89
|
let providedAttributes;
|
|
90
90
|
try {
|
|
91
91
|
providedAttributes = await provider.provider.providePortAttributes({ port, pid, commandLine }, cancellationToken);
|
|
@@ -94,15 +94,15 @@ let ExtHostTunnelService = class ExtHostTunnelService extends Disposable {
|
|
|
94
94
|
providedAttributes = await provider.provider.providePortAttributes(port, pid, commandLine, cancellationToken);
|
|
95
95
|
}
|
|
96
96
|
return { providedAttributes, port };
|
|
97
|
-
})))))
|
|
97
|
+
})))));
|
|
98
98
|
}
|
|
99
99
|
const allAttributes = providedAttributes.filter(attribute => !!attribute.providedAttributes);
|
|
100
|
-
return (allAttributes.length > 0) ? (
|
|
100
|
+
return (allAttributes.length > 0) ? ( allAttributes.map(attributes => {
|
|
101
101
|
return {
|
|
102
102
|
autoForwardAction: attributes.providedAttributes.autoForwardAction,
|
|
103
103
|
port: attributes.port
|
|
104
104
|
};
|
|
105
|
-
}))
|
|
105
|
+
})) : [];
|
|
106
106
|
}
|
|
107
107
|
async $registerCandidateFinder(_enable) { }
|
|
108
108
|
registerTunnelProvider(provider, information) {
|
|
@@ -110,7 +110,7 @@ let ExtHostTunnelService = class ExtHostTunnelService extends Disposable {
|
|
|
110
110
|
throw new Error('A tunnel provider has already been registered. Only the first tunnel provider to be registered will be used.');
|
|
111
111
|
}
|
|
112
112
|
this._forwardPortProvider = async (tunnelOptions, tunnelCreationOptions) => {
|
|
113
|
-
const result = await provider.provideTunnel(tunnelOptions, tunnelCreationOptions, (
|
|
113
|
+
const result = await provider.provideTunnel(tunnelOptions, tunnelCreationOptions, ( new CancellationTokenSource()).token);
|
|
114
114
|
return result ?? undefined;
|
|
115
115
|
};
|
|
116
116
|
const tunnelFeatures = information.tunnelFeatures ? {
|
|
@@ -140,12 +140,12 @@ let ExtHostTunnelService = class ExtHostTunnelService extends Disposable {
|
|
|
140
140
|
privacyOptions = [
|
|
141
141
|
{
|
|
142
142
|
id: 'private',
|
|
143
|
-
label:
|
|
143
|
+
label: nls.localizeWithPath('vs/workbench/api/common/extHostTunnelService', 'tunnelPrivacy.private', "Private"),
|
|
144
144
|
themeIcon: 'lock'
|
|
145
145
|
},
|
|
146
146
|
{
|
|
147
147
|
id: 'public',
|
|
148
|
-
label:
|
|
148
|
+
label: nls.localizeWithPath('vs/workbench/api/common/extHostTunnelService', 'tunnelPrivacy.public', "Public"),
|
|
149
149
|
themeIcon: 'eye'
|
|
150
150
|
}
|
|
151
151
|
];
|
|
@@ -169,9 +169,9 @@ let ExtHostTunnelService = class ExtHostTunnelService extends Disposable {
|
|
|
169
169
|
return undefined;
|
|
170
170
|
}
|
|
171
171
|
async $closeTunnel(remote, silent) {
|
|
172
|
-
if ((
|
|
172
|
+
if (( this._extensionTunnels.has(remote.host))) {
|
|
173
173
|
const hostMap = this._extensionTunnels.get(remote.host);
|
|
174
|
-
if ((
|
|
174
|
+
if (( hostMap.has(remote.port))) {
|
|
175
175
|
if (silent) {
|
|
176
176
|
hostMap.get(remote.port).disposeListener.dispose();
|
|
177
177
|
}
|
|
@@ -196,8 +196,8 @@ let ExtHostTunnelService = class ExtHostTunnelService extends Disposable {
|
|
|
196
196
|
this.logService.error('ForwardedPorts: (ExtHostTunnelService) Resolved tunnel is undefined');
|
|
197
197
|
return undefined;
|
|
198
198
|
}
|
|
199
|
-
if (!(
|
|
200
|
-
this._extensionTunnels.set(tunnelOptions.remoteAddress.host, (
|
|
199
|
+
if (!( this._extensionTunnels.has(tunnelOptions.remoteAddress.host))) {
|
|
200
|
+
this._extensionTunnels.set(tunnelOptions.remoteAddress.host, ( new Map()));
|
|
201
201
|
}
|
|
202
202
|
const disposeListener = this._register(tunnel.onDidDispose(() => {
|
|
203
203
|
this.logService.trace('ForwardedPorts: (ExtHostTunnelService) Extension fired tunnel\'s onDidDispose.');
|
|
@@ -220,17 +220,17 @@ let ExtHostTunnelService = class ExtHostTunnelService extends Disposable {
|
|
|
220
220
|
return undefined;
|
|
221
221
|
}
|
|
222
222
|
async $applyCandidateFilter(candidates) {
|
|
223
|
-
const filter = await Promise.all((
|
|
223
|
+
const filter = await Promise.all(( candidates.map(
|
|
224
224
|
candidate => this._showCandidatePort(candidate.host, candidate.port, candidate.detail ?? '')
|
|
225
|
-
)))
|
|
225
|
+
)));
|
|
226
226
|
const result = candidates.filter((candidate, index) => filter[index]);
|
|
227
|
-
this.logService.trace(`ForwardedPorts: (ExtHostTunnelService) filtered from ${(
|
|
227
|
+
this.logService.trace(`ForwardedPorts: (ExtHostTunnelService) filtered from ${( candidates.map(port => port.port)).join(', ')} to ${( result.map(port => port.port)).join(', ')}`);
|
|
228
228
|
return result;
|
|
229
229
|
}
|
|
230
230
|
};
|
|
231
|
-
ExtHostTunnelService = (
|
|
232
|
-
(
|
|
233
|
-
(
|
|
234
|
-
(
|
|
235
|
-
], ExtHostTunnelService))
|
|
231
|
+
ExtHostTunnelService = ( __decorate([
|
|
232
|
+
( __param(0, IExtHostRpcService)),
|
|
233
|
+
( __param(1, IExtHostInitDataService)),
|
|
234
|
+
( __param(2, ILogService))
|
|
235
|
+
], ExtHostTunnelService));
|
|
236
236
|
export { ExtHostTunnelService, IExtHostTunnelService, TunnelDtoConverter };
|