@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
|
@@ -19,7 +19,7 @@ import { StopWatch } from 'monaco-editor/esm/vs/base/common/stopwatch.js';
|
|
|
19
19
|
import { isCancellationError, NotImplementedError } from 'monaco-editor/esm/vs/base/common/errors.js';
|
|
20
20
|
import { raceCancellationError } from 'monaco-editor/esm/vs/base/common/async.js';
|
|
21
21
|
import { isProposedApiEnabled } from '../../services/extensions/common/extensions.js';
|
|
22
|
-
import {
|
|
22
|
+
import { localizeWithPath } from 'monaco-editor/esm/vs/nls.js';
|
|
23
23
|
class DocumentSymbolAdapter {
|
|
24
24
|
constructor(_documents, _provider) {
|
|
25
25
|
this._documents = _documents;
|
|
@@ -32,9 +32,7 @@ class DocumentSymbolAdapter {
|
|
|
32
32
|
return undefined;
|
|
33
33
|
}
|
|
34
34
|
else if (value[0] instanceof DocumentSymbol) {
|
|
35
|
-
return (
|
|
36
|
-
(value.map(DocumentSymbol$1.from))
|
|
37
|
-
);
|
|
35
|
+
return ( value.map(DocumentSymbol$1.from));
|
|
38
36
|
}
|
|
39
37
|
else {
|
|
40
38
|
return DocumentSymbolAdapter._asDocumentSymbolTree(value);
|
|
@@ -85,8 +83,8 @@ class CodeLensAdapter {
|
|
|
85
83
|
this._documents = _documents;
|
|
86
84
|
this._commands = _commands;
|
|
87
85
|
this._provider = _provider;
|
|
88
|
-
this._cache = (
|
|
89
|
-
this._disposables = (
|
|
86
|
+
this._cache = ( new Cache('CodeLens'));
|
|
87
|
+
this._disposables = ( new Map());
|
|
90
88
|
}
|
|
91
89
|
async provideCodeLenses(resource, token) {
|
|
92
90
|
const doc = this._documents.getDocument(resource);
|
|
@@ -95,7 +93,7 @@ class CodeLensAdapter {
|
|
|
95
93
|
return undefined;
|
|
96
94
|
}
|
|
97
95
|
const cacheId = this._cache.add(lenses);
|
|
98
|
-
const disposables = (
|
|
96
|
+
const disposables = ( new DisposableStore());
|
|
99
97
|
this._disposables.set(cacheId, disposables);
|
|
100
98
|
const result = {
|
|
101
99
|
cacheId,
|
|
@@ -143,9 +141,7 @@ class CodeLensAdapter {
|
|
|
143
141
|
}
|
|
144
142
|
function convertToLocationLinks(value) {
|
|
145
143
|
if (Array.isArray(value)) {
|
|
146
|
-
return (
|
|
147
|
-
(value.map(DefinitionLink.from))
|
|
148
|
-
);
|
|
144
|
+
return ( value.map(DefinitionLink.from));
|
|
149
145
|
}
|
|
150
146
|
else if (value) {
|
|
151
147
|
return [DefinitionLink.from(value)];
|
|
@@ -216,7 +212,7 @@ class HoverAdapter {
|
|
|
216
212
|
value.range = doc.getWordRangeAtPosition(pos);
|
|
217
213
|
}
|
|
218
214
|
if (!value.range) {
|
|
219
|
-
value.range = (
|
|
215
|
+
value.range = ( new Range$2(pos, pos));
|
|
220
216
|
}
|
|
221
217
|
return Hover.from(value);
|
|
222
218
|
}
|
|
@@ -245,9 +241,7 @@ class InlineValuesAdapter {
|
|
|
245
241
|
const doc = this._documents.getDocument(resource);
|
|
246
242
|
const value = await this._provider.provideInlineValues(doc, Range.to(viewPort), InlineValueContext.to(context), token);
|
|
247
243
|
if (Array.isArray(value)) {
|
|
248
|
-
return (
|
|
249
|
-
(value.map(iv => InlineValue.from(iv)))
|
|
250
|
-
);
|
|
244
|
+
return ( value.map(iv => InlineValue.from(iv)));
|
|
251
245
|
}
|
|
252
246
|
return undefined;
|
|
253
247
|
}
|
|
@@ -262,9 +256,7 @@ class DocumentHighlightAdapter {
|
|
|
262
256
|
const pos = Position.to(position);
|
|
263
257
|
const value = await this._provider.provideDocumentHighlights(doc, pos, token);
|
|
264
258
|
if (Array.isArray(value)) {
|
|
265
|
-
return (
|
|
266
|
-
(value.map(DocumentHighlight.from))
|
|
267
|
-
);
|
|
259
|
+
return ( value.map(DocumentHighlight.from));
|
|
268
260
|
}
|
|
269
261
|
return undefined;
|
|
270
262
|
}
|
|
@@ -280,7 +272,7 @@ class LinkedEditingRangeAdapter {
|
|
|
280
272
|
const value = await this._provider.provideLinkedEditingRanges(doc, pos, token);
|
|
281
273
|
if (value && Array.isArray(value.ranges)) {
|
|
282
274
|
return {
|
|
283
|
-
ranges: coalesce((
|
|
275
|
+
ranges: coalesce(( value.ranges.map(Range.from))),
|
|
284
276
|
wordPattern: value.wordPattern
|
|
285
277
|
};
|
|
286
278
|
}
|
|
@@ -297,9 +289,7 @@ class ReferenceAdapter {
|
|
|
297
289
|
const pos = Position.to(position);
|
|
298
290
|
const value = await this._provider.provideReferences(doc, pos, context, token);
|
|
299
291
|
if (Array.isArray(value)) {
|
|
300
|
-
return (
|
|
301
|
-
(value.map(location.from))
|
|
302
|
-
);
|
|
292
|
+
return ( value.map(location.from));
|
|
303
293
|
}
|
|
304
294
|
return undefined;
|
|
305
295
|
}
|
|
@@ -314,8 +304,8 @@ class CodeActionAdapter {
|
|
|
314
304
|
this._logService = _logService;
|
|
315
305
|
this._extension = _extension;
|
|
316
306
|
this._apiDeprecation = _apiDeprecation;
|
|
317
|
-
this._cache = (
|
|
318
|
-
this._disposables = (
|
|
307
|
+
this._cache = ( new Cache('CodeAction'));
|
|
308
|
+
this._disposables = ( new Map());
|
|
319
309
|
}
|
|
320
310
|
async provideCodeActions(resource, rangeOrSelection, context, token) {
|
|
321
311
|
const doc = this._documents.getDocument(resource);
|
|
@@ -333,7 +323,7 @@ class CodeActionAdapter {
|
|
|
333
323
|
}
|
|
334
324
|
const codeActionContext = {
|
|
335
325
|
diagnostics: allDiagnostics,
|
|
336
|
-
only: context.only ? (
|
|
326
|
+
only: context.only ? ( new CodeActionKind(context.only)) : undefined,
|
|
337
327
|
triggerKind: CodeActionTriggerKind.to(context.trigger),
|
|
338
328
|
};
|
|
339
329
|
const commandsOrActions = await this._provider.provideCodeActions(doc, ran, codeActionContext, token);
|
|
@@ -341,7 +331,7 @@ class CodeActionAdapter {
|
|
|
341
331
|
return undefined;
|
|
342
332
|
}
|
|
343
333
|
const cacheId = this._cache.add(commandsOrActions);
|
|
344
|
-
const disposables = (
|
|
334
|
+
const disposables = ( new DisposableStore());
|
|
345
335
|
this._disposables.set(cacheId, disposables);
|
|
346
336
|
const actions = [];
|
|
347
337
|
for (let i = 0; i < commandsOrActions.length; i++) {
|
|
@@ -370,7 +360,7 @@ class CodeActionAdapter {
|
|
|
370
360
|
cacheId: [cacheId, i],
|
|
371
361
|
title: candidate.title,
|
|
372
362
|
command: candidate.command && this._commands.toInternal(candidate.command, disposables),
|
|
373
|
-
diagnostics: candidate.diagnostics && (
|
|
363
|
+
diagnostics: candidate.diagnostics && ( candidate.diagnostics.map(Diagnostic.from)),
|
|
374
364
|
edit: candidate.edit && WorkspaceEdit.from(candidate.edit, undefined),
|
|
375
365
|
kind: candidate.kind && candidate.kind.value,
|
|
376
366
|
isPreferred: candidate.isPreferred,
|
|
@@ -428,7 +418,7 @@ class DocumentPasteEditProvider {
|
|
|
428
418
|
return;
|
|
429
419
|
}
|
|
430
420
|
const doc = this._documents.getDocument(resource);
|
|
431
|
-
const vscodeRanges = (
|
|
421
|
+
const vscodeRanges = ( ranges.map(range => Range.to(range)));
|
|
432
422
|
const dataTransfer = DataTransfer.toDataTransfer(dataTransferDto, () => {
|
|
433
423
|
throw new NotImplementedError();
|
|
434
424
|
});
|
|
@@ -444,7 +434,7 @@ class DocumentPasteEditProvider {
|
|
|
444
434
|
return;
|
|
445
435
|
}
|
|
446
436
|
const doc = this._documents.getDocument(resource);
|
|
447
|
-
const vscodeRanges = (
|
|
437
|
+
const vscodeRanges = ( ranges.map(range => Range.to(range)));
|
|
448
438
|
const dataTransfer = DataTransfer.toDataTransfer(dataTransferDto, async (id) => {
|
|
449
439
|
return (await this._proxy.$resolvePasteFileData(this._handle, requestId, id)).buffer;
|
|
450
440
|
});
|
|
@@ -453,11 +443,7 @@ class DocumentPasteEditProvider {
|
|
|
453
443
|
return;
|
|
454
444
|
}
|
|
455
445
|
return {
|
|
456
|
-
label: edit.label ?? (
|
|
457
|
-
'defaultPasteLabel',
|
|
458
|
-
"Paste using '{0}' extension",
|
|
459
|
-
this._extension.displayName || this._extension.name
|
|
460
|
-
))),
|
|
446
|
+
label: edit.label ?? localizeWithPath('vs/workbench/api/common/extHostLanguageFeatures', 'defaultPasteLabel', "Paste using '{0}' extension", this._extension.displayName || this._extension.name),
|
|
461
447
|
detail: this._extension.displayName || this._extension.name,
|
|
462
448
|
yieldTo: edit.yieldTo?.map(yTo => {
|
|
463
449
|
return 'mimeType' in yTo ? yTo : { providerId: DocumentPasteEditProvider.toInternalProviderId(yTo.extensionId, yTo.providerId) };
|
|
@@ -476,9 +462,7 @@ class DocumentFormattingAdapter {
|
|
|
476
462
|
const document = this._documents.getDocument(resource);
|
|
477
463
|
const value = await this._provider.provideDocumentFormattingEdits(document, options, token);
|
|
478
464
|
if (Array.isArray(value)) {
|
|
479
|
-
return (
|
|
480
|
-
(value.map(TextEdit.from))
|
|
481
|
-
);
|
|
465
|
+
return ( value.map(TextEdit.from));
|
|
482
466
|
}
|
|
483
467
|
return undefined;
|
|
484
468
|
}
|
|
@@ -493,21 +477,17 @@ class RangeFormattingAdapter {
|
|
|
493
477
|
const ran = Range.to(range);
|
|
494
478
|
const value = await this._provider.provideDocumentRangeFormattingEdits(document, ran, options, token);
|
|
495
479
|
if (Array.isArray(value)) {
|
|
496
|
-
return (
|
|
497
|
-
(value.map(TextEdit.from))
|
|
498
|
-
);
|
|
480
|
+
return ( value.map(TextEdit.from));
|
|
499
481
|
}
|
|
500
482
|
return undefined;
|
|
501
483
|
}
|
|
502
484
|
async provideDocumentRangesFormattingEdits(resource, ranges, options, token) {
|
|
503
485
|
assertType(typeof this._provider.provideDocumentRangesFormattingEdits === 'function', 'INVALID invocation of `provideDocumentRangesFormattingEdits`');
|
|
504
486
|
const document = this._documents.getDocument(resource);
|
|
505
|
-
const _ranges = (
|
|
487
|
+
const _ranges = ( ranges.map(Range.to));
|
|
506
488
|
const value = await this._provider.provideDocumentRangesFormattingEdits(document, _ranges, options, token);
|
|
507
489
|
if (Array.isArray(value)) {
|
|
508
|
-
return (
|
|
509
|
-
(value.map(TextEdit.from))
|
|
510
|
-
);
|
|
490
|
+
return ( value.map(TextEdit.from));
|
|
511
491
|
}
|
|
512
492
|
return undefined;
|
|
513
493
|
}
|
|
@@ -523,9 +503,7 @@ class OnTypeFormattingAdapter {
|
|
|
523
503
|
const pos = Position.to(position);
|
|
524
504
|
const value = await this._provider.provideOnTypeFormattingEdits(document, pos, ch, options, token);
|
|
525
505
|
if (Array.isArray(value)) {
|
|
526
|
-
return (
|
|
527
|
-
(value.map(TextEdit.from))
|
|
528
|
-
);
|
|
506
|
+
return ( value.map(TextEdit.from));
|
|
529
507
|
}
|
|
530
508
|
return undefined;
|
|
531
509
|
}
|
|
@@ -534,7 +512,7 @@ class NavigateTypeAdapter {
|
|
|
534
512
|
constructor(_provider, _logService) {
|
|
535
513
|
this._provider = _provider;
|
|
536
514
|
this._logService = _logService;
|
|
537
|
-
this._cache = (
|
|
515
|
+
this._cache = ( new Cache('WorkspaceSymbols'));
|
|
538
516
|
}
|
|
539
517
|
async provideWorkspaceSymbols(search, token) {
|
|
540
518
|
const value = await this._provider.provideWorkspaceSymbols(search, token);
|
|
@@ -666,7 +644,7 @@ class DocumentSemanticTokensAdapter {
|
|
|
666
644
|
this._documents = _documents;
|
|
667
645
|
this._provider = _provider;
|
|
668
646
|
this._nextResultId = 1;
|
|
669
|
-
this._previousResults = (
|
|
647
|
+
this._previousResults = ( new Map());
|
|
670
648
|
}
|
|
671
649
|
async provideDocumentSemanticTokens(resource, previousResultId, token) {
|
|
672
650
|
const doc = this._documents.getDocument(resource);
|
|
@@ -691,21 +669,13 @@ class DocumentSemanticTokensAdapter {
|
|
|
691
669
|
if (DocumentSemanticTokensAdapter._isCorrectSemanticTokens(v)) {
|
|
692
670
|
return v;
|
|
693
671
|
}
|
|
694
|
-
return (
|
|
695
|
-
(new SemanticTokens( (new Uint32Array(v.data)), v.resultId))
|
|
696
|
-
);
|
|
672
|
+
return ( new SemanticTokens(( new Uint32Array(v.data)), v.resultId));
|
|
697
673
|
}
|
|
698
674
|
else if (DocumentSemanticTokensAdapter._isSemanticTokensEdits(v)) {
|
|
699
675
|
if (DocumentSemanticTokensAdapter._isCorrectSemanticTokensEdits(v)) {
|
|
700
676
|
return v;
|
|
701
677
|
}
|
|
702
|
-
return (
|
|
703
|
-
(new SemanticTokensEdits( (v.edits.map(edit => ( (new SemanticTokensEdit(
|
|
704
|
-
edit.start,
|
|
705
|
-
edit.deleteCount,
|
|
706
|
-
edit.data ? ( (new Uint32Array(edit.data))) : edit.data
|
|
707
|
-
))))), v.resultId))
|
|
708
|
-
);
|
|
678
|
+
return ( new SemanticTokensEdits(( v.edits.map(edit => ( new SemanticTokensEdit(edit.start, edit.deleteCount, edit.data ? ( new Uint32Array(edit.data)) : edit.data)))), v.resultId));
|
|
709
679
|
}
|
|
710
680
|
return v;
|
|
711
681
|
}
|
|
@@ -743,27 +713,23 @@ class DocumentSemanticTokensAdapter {
|
|
|
743
713
|
commonPrefixLength++;
|
|
744
714
|
}
|
|
745
715
|
if (commonPrefixLength === oldLength && commonPrefixLength === newLength) {
|
|
746
|
-
return (
|
|
747
|
-
(new SemanticTokensEdits([], newResult.resultId))
|
|
748
|
-
);
|
|
716
|
+
return ( new SemanticTokensEdits([], newResult.resultId));
|
|
749
717
|
}
|
|
750
718
|
let commonSuffixLength = 0;
|
|
751
719
|
const maxCommonSuffixLength = maxCommonPrefixLength - commonPrefixLength;
|
|
752
720
|
while (commonSuffixLength < maxCommonSuffixLength && oldData[oldLength - commonSuffixLength - 1] === newData[newLength - commonSuffixLength - 1]) {
|
|
753
721
|
commonSuffixLength++;
|
|
754
722
|
}
|
|
755
|
-
return (
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
}], newResult.resultId))
|
|
761
|
-
);
|
|
723
|
+
return ( new SemanticTokensEdits([{
|
|
724
|
+
start: commonPrefixLength,
|
|
725
|
+
deleteCount: (oldLength - commonPrefixLength - commonSuffixLength),
|
|
726
|
+
data: newData.subarray(commonPrefixLength, newLength - commonSuffixLength)
|
|
727
|
+
}], newResult.resultId));
|
|
762
728
|
}
|
|
763
729
|
_send(value, original) {
|
|
764
730
|
if (DocumentSemanticTokensAdapter._isSemanticTokens(value)) {
|
|
765
731
|
const myId = this._nextResultId++;
|
|
766
|
-
this._previousResults.set(myId, (
|
|
732
|
+
this._previousResults.set(myId, ( new SemanticTokensPreviousResult(value.resultId, value.data)));
|
|
767
733
|
return encodeSemanticTokensDto({
|
|
768
734
|
id: myId,
|
|
769
735
|
type: 'full',
|
|
@@ -773,17 +739,17 @@ class DocumentSemanticTokensAdapter {
|
|
|
773
739
|
if (DocumentSemanticTokensAdapter._isSemanticTokensEdits(value)) {
|
|
774
740
|
const myId = this._nextResultId++;
|
|
775
741
|
if (DocumentSemanticTokensAdapter._isSemanticTokens(original)) {
|
|
776
|
-
this._previousResults.set(myId, (
|
|
742
|
+
this._previousResults.set(myId, ( new SemanticTokensPreviousResult(original.resultId, original.data)));
|
|
777
743
|
}
|
|
778
744
|
else {
|
|
779
|
-
this._previousResults.set(myId, (
|
|
745
|
+
this._previousResults.set(myId, ( new SemanticTokensPreviousResult(value.resultId)));
|
|
780
746
|
}
|
|
781
747
|
return encodeSemanticTokensDto({
|
|
782
748
|
id: myId,
|
|
783
749
|
type: 'delta',
|
|
784
|
-
deltas: ( (
|
|
750
|
+
deltas: ( (value.edits || []).map(
|
|
785
751
|
edit => ({ start: edit.start, deleteCount: edit.deleteCount, data: edit.data })
|
|
786
|
-
))
|
|
752
|
+
))
|
|
787
753
|
});
|
|
788
754
|
}
|
|
789
755
|
return null;
|
|
@@ -820,15 +786,15 @@ class CompletionsAdapter {
|
|
|
820
786
|
this._provider = _provider;
|
|
821
787
|
this._apiDeprecation = _apiDeprecation;
|
|
822
788
|
this._extension = _extension;
|
|
823
|
-
this._cache = (
|
|
824
|
-
this._disposables = (
|
|
789
|
+
this._cache = ( new Cache('CompletionItem'));
|
|
790
|
+
this._disposables = ( new Map());
|
|
825
791
|
}
|
|
826
792
|
async provideCompletionItems(resource, position, context, token) {
|
|
827
793
|
const doc = this._documents.getDocument(resource);
|
|
828
794
|
const pos = Position.to(position);
|
|
829
|
-
const replaceRange = doc.getWordRangeAtPosition(pos) || (
|
|
795
|
+
const replaceRange = doc.getWordRangeAtPosition(pos) || ( new Range$2(pos, pos));
|
|
830
796
|
const insertRange = replaceRange.with({ end: pos });
|
|
831
|
-
const sw = (
|
|
797
|
+
const sw = ( new StopWatch());
|
|
832
798
|
const itemsOrList = await this._provider.provideCompletionItems(doc, pos, token, CompletionContext.to(context));
|
|
833
799
|
if (!itemsOrList) {
|
|
834
800
|
return undefined;
|
|
@@ -836,9 +802,9 @@ class CompletionsAdapter {
|
|
|
836
802
|
if (token.isCancellationRequested) {
|
|
837
803
|
return undefined;
|
|
838
804
|
}
|
|
839
|
-
const list = Array.isArray(itemsOrList) ? (
|
|
805
|
+
const list = Array.isArray(itemsOrList) ? ( new CompletionList(itemsOrList)) : itemsOrList;
|
|
840
806
|
const pid = CompletionsAdapter.supportsResolving(this._provider) ? this._cache.add(list.items) : this._cache.add([]);
|
|
841
|
-
const disposables = (
|
|
807
|
+
const disposables = ( new DisposableStore());
|
|
842
808
|
this._disposables.set(pid, disposables);
|
|
843
809
|
const completions = [];
|
|
844
810
|
const result = {
|
|
@@ -905,7 +871,7 @@ class CompletionsAdapter {
|
|
|
905
871
|
x: id,
|
|
906
872
|
["a" ]: item.label,
|
|
907
873
|
["b" ]: item.kind !== undefined ? CompletionItemKind.from(item.kind) : undefined,
|
|
908
|
-
["m" ]: item.tags && (
|
|
874
|
+
["m" ]: item.tags && ( item.tags.map(CompletionItemTag.from)),
|
|
909
875
|
["c" ]: item.detail,
|
|
910
876
|
["d" ]: typeof item.documentation === 'undefined' ? undefined : MarkdownString.fromStrict(item.documentation),
|
|
911
877
|
["e" ]: item.sortText !== item.label ? item.sortText : undefined,
|
|
@@ -913,7 +879,7 @@ class CompletionsAdapter {
|
|
|
913
879
|
["g" ]: item.preselect || undefined,
|
|
914
880
|
["i" ]: item.keepWhitespace ? 1 : 0 ,
|
|
915
881
|
["k" ]: item.commitCharacters?.join(''),
|
|
916
|
-
["l" ]: item.additionalTextEdits && (
|
|
882
|
+
["l" ]: item.additionalTextEdits && ( item.additionalTextEdits.map(TextEdit.from)),
|
|
917
883
|
["n" ]: command?.$ident,
|
|
918
884
|
["o" ]: command?.id,
|
|
919
885
|
["p" ]: command?.$ident ? undefined : command?.arguments,
|
|
@@ -963,7 +929,7 @@ class InlineCompletionAdapter extends InlineCompletionAdapterBase {
|
|
|
963
929
|
this._documents = _documents;
|
|
964
930
|
this._provider = _provider;
|
|
965
931
|
this._commands = _commands;
|
|
966
|
-
this._references = (
|
|
932
|
+
this._references = ( new ReferenceMap());
|
|
967
933
|
this._isAdditionsProposedApiEnabled = isProposedApiEnabled(this._extension, 'inlineCompletionsAdditions');
|
|
968
934
|
this.languageTriggerKindToVSCodeTriggerKind = {
|
|
969
935
|
[languages.InlineCompletionTriggerKind.Automatic]: InlineCompletionTriggerKind.Automatic,
|
|
@@ -1005,11 +971,11 @@ class InlineCompletionAdapter extends InlineCompletionAdapterBase {
|
|
|
1005
971
|
});
|
|
1006
972
|
return {
|
|
1007
973
|
pid,
|
|
1008
|
-
items: (
|
|
974
|
+
items: ( normalizedResult.map((item, idx) => {
|
|
1009
975
|
let command = undefined;
|
|
1010
976
|
if (item.command) {
|
|
1011
977
|
if (!disposableStore) {
|
|
1012
|
-
disposableStore = (
|
|
978
|
+
disposableStore = ( new DisposableStore());
|
|
1013
979
|
}
|
|
1014
980
|
command = this._commands.toInternal(item.command, disposableStore);
|
|
1015
981
|
}
|
|
@@ -1022,13 +988,13 @@ class InlineCompletionAdapter extends InlineCompletionAdapterBase {
|
|
|
1022
988
|
idx: idx,
|
|
1023
989
|
completeBracketPairs: this._isAdditionsProposedApiEnabled ? item.completeBracketPairs : false,
|
|
1024
990
|
});
|
|
1025
|
-
}))
|
|
1026
|
-
commands: (
|
|
991
|
+
})),
|
|
992
|
+
commands: ( commands.map(c => {
|
|
1027
993
|
if (!disposableStore) {
|
|
1028
|
-
disposableStore = (
|
|
994
|
+
disposableStore = ( new DisposableStore());
|
|
1029
995
|
}
|
|
1030
996
|
return this._commands.toInternal(c, disposableStore);
|
|
1031
|
-
}))
|
|
997
|
+
})),
|
|
1032
998
|
suppressSuggestions: false,
|
|
1033
999
|
enableForwardStability,
|
|
1034
1000
|
};
|
|
@@ -1056,7 +1022,7 @@ class InlineCompletionAdapter extends InlineCompletionAdapterBase {
|
|
|
1056
1022
|
}
|
|
1057
1023
|
class ReferenceMap {
|
|
1058
1024
|
constructor() {
|
|
1059
|
-
this._references = (
|
|
1025
|
+
this._references = ( new Map());
|
|
1060
1026
|
this._idPool = 1;
|
|
1061
1027
|
}
|
|
1062
1028
|
createReferenceId(value) {
|
|
@@ -1077,7 +1043,7 @@ class SignatureHelpAdapter {
|
|
|
1077
1043
|
constructor(_documents, _provider) {
|
|
1078
1044
|
this._documents = _documents;
|
|
1079
1045
|
this._provider = _provider;
|
|
1080
|
-
this._cache = (
|
|
1046
|
+
this._cache = ( new Cache('SignatureHelp'));
|
|
1081
1047
|
}
|
|
1082
1048
|
async provideSignatureHelp(resource, position, context, token) {
|
|
1083
1049
|
const doc = this._documents.getDocument(resource);
|
|
@@ -1117,8 +1083,8 @@ class InlayHintsAdapter {
|
|
|
1117
1083
|
this._provider = _provider;
|
|
1118
1084
|
this._logService = _logService;
|
|
1119
1085
|
this._extension = _extension;
|
|
1120
|
-
this._cache = (
|
|
1121
|
-
this._disposables = (
|
|
1086
|
+
this._cache = ( new Cache('InlayHints'));
|
|
1087
|
+
this._disposables = ( new Map());
|
|
1122
1088
|
}
|
|
1123
1089
|
async provideInlayHints(resource, ran, token) {
|
|
1124
1090
|
const doc = this._documents.getDocument(resource);
|
|
@@ -1132,7 +1098,7 @@ class InlayHintsAdapter {
|
|
|
1132
1098
|
return undefined;
|
|
1133
1099
|
}
|
|
1134
1100
|
const pid = this._cache.add(hints);
|
|
1135
|
-
this._disposables.set(pid, (
|
|
1101
|
+
this._disposables.set(pid, ( new DisposableStore()));
|
|
1136
1102
|
const result = { hints: [], cacheId: pid };
|
|
1137
1103
|
for (let i = 0; i < hints.length; i++) {
|
|
1138
1104
|
if (this._isValidInlayHint(hints[i], range)) {
|
|
@@ -1184,7 +1150,7 @@ class InlayHintsAdapter {
|
|
|
1184
1150
|
cacheId: id,
|
|
1185
1151
|
tooltip: MarkdownString.fromStrict(hint.tooltip),
|
|
1186
1152
|
position: Position.from(hint.position),
|
|
1187
|
-
textEdits: hint.textEdits && (
|
|
1153
|
+
textEdits: hint.textEdits && ( hint.textEdits.map(TextEdit.from)),
|
|
1188
1154
|
kind: hint.kind && InlayHintKind.from(hint.kind),
|
|
1189
1155
|
paddingLeft: hint.paddingLeft,
|
|
1190
1156
|
paddingRight: hint.paddingRight,
|
|
@@ -1193,7 +1159,7 @@ class InlayHintsAdapter {
|
|
|
1193
1159
|
result.label = hint.label;
|
|
1194
1160
|
}
|
|
1195
1161
|
else {
|
|
1196
|
-
result.label = (
|
|
1162
|
+
result.label = ( hint.label.map(part => {
|
|
1197
1163
|
const result = { label: part.value };
|
|
1198
1164
|
result.tooltip = MarkdownString.fromStrict(part.tooltip);
|
|
1199
1165
|
if (Location.isLocation(part.location)) {
|
|
@@ -1203,7 +1169,7 @@ class InlayHintsAdapter {
|
|
|
1203
1169
|
result.command = this._commands.toInternal(part.command, disposables);
|
|
1204
1170
|
}
|
|
1205
1171
|
return result;
|
|
1206
|
-
}))
|
|
1172
|
+
}));
|
|
1207
1173
|
}
|
|
1208
1174
|
return result;
|
|
1209
1175
|
}
|
|
@@ -1212,7 +1178,7 @@ class LinkProviderAdapter {
|
|
|
1212
1178
|
constructor(_documents, _provider) {
|
|
1213
1179
|
this._documents = _documents;
|
|
1214
1180
|
this._provider = _provider;
|
|
1215
|
-
this._cache = (
|
|
1181
|
+
this._cache = ( new Cache('DocumentLink'));
|
|
1216
1182
|
}
|
|
1217
1183
|
async provideLinks(resource, token) {
|
|
1218
1184
|
const doc = this._documents.getDocument(resource);
|
|
@@ -1224,7 +1190,7 @@ class LinkProviderAdapter {
|
|
|
1224
1190
|
return undefined;
|
|
1225
1191
|
}
|
|
1226
1192
|
if (typeof this._provider.resolveDocumentLink !== 'function') {
|
|
1227
|
-
return { links: (
|
|
1193
|
+
return { links: ( links.filter(LinkProviderAdapter._validateLink).map(DocumentLink.from)) };
|
|
1228
1194
|
}
|
|
1229
1195
|
else {
|
|
1230
1196
|
const pid = this._cache.add(links);
|
|
@@ -1276,12 +1242,12 @@ class ColorProviderAdapter {
|
|
|
1276
1242
|
if (!Array.isArray(colors)) {
|
|
1277
1243
|
return [];
|
|
1278
1244
|
}
|
|
1279
|
-
const colorInfos = (
|
|
1245
|
+
const colorInfos = ( colors.map(ci => {
|
|
1280
1246
|
return {
|
|
1281
1247
|
color: Color.from(ci.color),
|
|
1282
1248
|
range: Range.from(ci.range)
|
|
1283
1249
|
};
|
|
1284
|
-
}))
|
|
1250
|
+
}));
|
|
1285
1251
|
return colorInfos;
|
|
1286
1252
|
}
|
|
1287
1253
|
async provideColorPresentations(resource, raw, token) {
|
|
@@ -1292,9 +1258,7 @@ class ColorProviderAdapter {
|
|
|
1292
1258
|
if (!Array.isArray(value)) {
|
|
1293
1259
|
return undefined;
|
|
1294
1260
|
}
|
|
1295
|
-
return (
|
|
1296
|
-
(value.map(ColorPresentation.from))
|
|
1297
|
-
);
|
|
1261
|
+
return ( value.map(ColorPresentation.from));
|
|
1298
1262
|
}
|
|
1299
1263
|
}
|
|
1300
1264
|
class FoldingProviderAdapter {
|
|
@@ -1308,9 +1272,7 @@ class FoldingProviderAdapter {
|
|
|
1308
1272
|
if (!Array.isArray(ranges)) {
|
|
1309
1273
|
return undefined;
|
|
1310
1274
|
}
|
|
1311
|
-
return (
|
|
1312
|
-
(ranges.map(FoldingRange.from))
|
|
1313
|
-
);
|
|
1275
|
+
return ( ranges.map(FoldingRange.from));
|
|
1314
1276
|
}
|
|
1315
1277
|
}
|
|
1316
1278
|
class SelectionRangeAdapter {
|
|
@@ -1321,7 +1283,7 @@ class SelectionRangeAdapter {
|
|
|
1321
1283
|
}
|
|
1322
1284
|
async provideSelectionRanges(resource, pos, token) {
|
|
1323
1285
|
const document = this._documents.getDocument(resource);
|
|
1324
|
-
const positions = (
|
|
1286
|
+
const positions = ( pos.map(Position.to));
|
|
1325
1287
|
const allProviderRanges = await this._provider.provideSelectionRanges(document, positions, token);
|
|
1326
1288
|
if (!isNonEmptyArray(allProviderRanges)) {
|
|
1327
1289
|
return [];
|
|
@@ -1355,8 +1317,8 @@ class CallHierarchyAdapter {
|
|
|
1355
1317
|
constructor(_documents, _provider) {
|
|
1356
1318
|
this._documents = _documents;
|
|
1357
1319
|
this._provider = _provider;
|
|
1358
|
-
this._idPool = (
|
|
1359
|
-
this._cache = (
|
|
1320
|
+
this._idPool = ( new IdGenerator(''));
|
|
1321
|
+
this._cache = ( new Map());
|
|
1360
1322
|
}
|
|
1361
1323
|
async prepareSession(uri, position, token) {
|
|
1362
1324
|
const doc = this._documents.getDocument(uri);
|
|
@@ -1366,11 +1328,9 @@ class CallHierarchyAdapter {
|
|
|
1366
1328
|
return undefined;
|
|
1367
1329
|
}
|
|
1368
1330
|
const sessionId = this._idPool.nextId();
|
|
1369
|
-
this._cache.set(sessionId, (
|
|
1331
|
+
this._cache.set(sessionId, ( new Map()));
|
|
1370
1332
|
if (Array.isArray(items)) {
|
|
1371
|
-
return (
|
|
1372
|
-
(items.map(item => this._cacheAndConvertItem(sessionId, item)))
|
|
1373
|
-
);
|
|
1333
|
+
return ( items.map(item => this._cacheAndConvertItem(sessionId, item)));
|
|
1374
1334
|
}
|
|
1375
1335
|
else {
|
|
1376
1336
|
return [this._cacheAndConvertItem(sessionId, items)];
|
|
@@ -1385,14 +1345,12 @@ class CallHierarchyAdapter {
|
|
|
1385
1345
|
if (!calls) {
|
|
1386
1346
|
return undefined;
|
|
1387
1347
|
}
|
|
1388
|
-
return (
|
|
1389
|
-
|
|
1390
|
-
|
|
1391
|
-
|
|
1392
|
-
|
|
1393
|
-
|
|
1394
|
-
}))
|
|
1395
|
-
);
|
|
1348
|
+
return ( calls.map(call => {
|
|
1349
|
+
return {
|
|
1350
|
+
from: this._cacheAndConvertItem(sessionId, call.from),
|
|
1351
|
+
fromRanges: ( call.fromRanges.map(r => Range.from(r)))
|
|
1352
|
+
};
|
|
1353
|
+
}));
|
|
1396
1354
|
}
|
|
1397
1355
|
async provideCallsFrom(sessionId, itemId, token) {
|
|
1398
1356
|
const item = this._itemFromCache(sessionId, itemId);
|
|
@@ -1403,21 +1361,19 @@ class CallHierarchyAdapter {
|
|
|
1403
1361
|
if (!calls) {
|
|
1404
1362
|
return undefined;
|
|
1405
1363
|
}
|
|
1406
|
-
return (
|
|
1407
|
-
|
|
1408
|
-
|
|
1409
|
-
|
|
1410
|
-
|
|
1411
|
-
|
|
1412
|
-
}))
|
|
1413
|
-
);
|
|
1364
|
+
return ( calls.map(call => {
|
|
1365
|
+
return {
|
|
1366
|
+
to: this._cacheAndConvertItem(sessionId, call.to),
|
|
1367
|
+
fromRanges: ( call.fromRanges.map(r => Range.from(r)))
|
|
1368
|
+
};
|
|
1369
|
+
}));
|
|
1414
1370
|
}
|
|
1415
1371
|
releaseSession(sessionId) {
|
|
1416
1372
|
this._cache.delete(sessionId);
|
|
1417
1373
|
}
|
|
1418
1374
|
_cacheAndConvertItem(sessionId, item) {
|
|
1419
1375
|
const map = this._cache.get(sessionId);
|
|
1420
|
-
const dto = CallHierarchyItem.from(item, sessionId, (
|
|
1376
|
+
const dto = CallHierarchyItem.from(item, sessionId, ( map.size.toString(36)));
|
|
1421
1377
|
map.set(dto._itemId, item);
|
|
1422
1378
|
return dto;
|
|
1423
1379
|
}
|
|
@@ -1430,8 +1386,8 @@ class TypeHierarchyAdapter {
|
|
|
1430
1386
|
constructor(_documents, _provider) {
|
|
1431
1387
|
this._documents = _documents;
|
|
1432
1388
|
this._provider = _provider;
|
|
1433
|
-
this._idPool = (
|
|
1434
|
-
this._cache = (
|
|
1389
|
+
this._idPool = ( new IdGenerator(''));
|
|
1390
|
+
this._cache = ( new Map());
|
|
1435
1391
|
}
|
|
1436
1392
|
async prepareSession(uri, position, token) {
|
|
1437
1393
|
const doc = this._documents.getDocument(uri);
|
|
@@ -1441,11 +1397,9 @@ class TypeHierarchyAdapter {
|
|
|
1441
1397
|
return undefined;
|
|
1442
1398
|
}
|
|
1443
1399
|
const sessionId = this._idPool.nextId();
|
|
1444
|
-
this._cache.set(sessionId, (
|
|
1400
|
+
this._cache.set(sessionId, ( new Map()));
|
|
1445
1401
|
if (Array.isArray(items)) {
|
|
1446
|
-
return (
|
|
1447
|
-
(items.map(item => this._cacheAndConvertItem(sessionId, item)))
|
|
1448
|
-
);
|
|
1402
|
+
return ( items.map(item => this._cacheAndConvertItem(sessionId, item)));
|
|
1449
1403
|
}
|
|
1450
1404
|
else {
|
|
1451
1405
|
return [this._cacheAndConvertItem(sessionId, items)];
|
|
@@ -1460,11 +1414,9 @@ class TypeHierarchyAdapter {
|
|
|
1460
1414
|
if (!supertypes) {
|
|
1461
1415
|
return undefined;
|
|
1462
1416
|
}
|
|
1463
|
-
return (
|
|
1464
|
-
|
|
1465
|
-
|
|
1466
|
-
}))
|
|
1467
|
-
);
|
|
1417
|
+
return ( supertypes.map(supertype => {
|
|
1418
|
+
return this._cacheAndConvertItem(sessionId, supertype);
|
|
1419
|
+
}));
|
|
1468
1420
|
}
|
|
1469
1421
|
async provideSubtypes(sessionId, itemId, token) {
|
|
1470
1422
|
const item = this._itemFromCache(sessionId, itemId);
|
|
@@ -1475,18 +1427,16 @@ class TypeHierarchyAdapter {
|
|
|
1475
1427
|
if (!subtypes) {
|
|
1476
1428
|
return undefined;
|
|
1477
1429
|
}
|
|
1478
|
-
return (
|
|
1479
|
-
|
|
1480
|
-
|
|
1481
|
-
}))
|
|
1482
|
-
);
|
|
1430
|
+
return ( subtypes.map(subtype => {
|
|
1431
|
+
return this._cacheAndConvertItem(sessionId, subtype);
|
|
1432
|
+
}));
|
|
1483
1433
|
}
|
|
1484
1434
|
releaseSession(sessionId) {
|
|
1485
1435
|
this._cache.delete(sessionId);
|
|
1486
1436
|
}
|
|
1487
1437
|
_cacheAndConvertItem(sessionId, item) {
|
|
1488
1438
|
const map = this._cache.get(sessionId);
|
|
1489
|
-
const dto = TypeHierarchyItem.from(item, sessionId, (
|
|
1439
|
+
const dto = TypeHierarchyItem.from(item, sessionId, ( map.size.toString(36)));
|
|
1490
1440
|
map.set(dto._itemId, item);
|
|
1491
1441
|
return dto;
|
|
1492
1442
|
}
|
|
@@ -1517,11 +1467,7 @@ class DocumentOnDropEditAdapter {
|
|
|
1517
1467
|
return undefined;
|
|
1518
1468
|
}
|
|
1519
1469
|
return {
|
|
1520
|
-
label: edit.label ?? (
|
|
1521
|
-
'defaultDropLabel',
|
|
1522
|
-
"Drop using '{0}' extension",
|
|
1523
|
-
this._extension.displayName || this._extension.name
|
|
1524
|
-
))),
|
|
1470
|
+
label: edit.label ?? localizeWithPath('vs/workbench/api/common/extHostLanguageFeatures', 'defaultDropLabel', "Drop using '{0}' extension", this._extension.displayName || this._extension.name),
|
|
1525
1471
|
yieldTo: edit.yieldTo?.map(yTo => {
|
|
1526
1472
|
return 'mimeType' in yTo ? yTo : { providerId: DocumentOnDropEditAdapter.toInternalProviderId(yTo.extensionId, yTo.providerId) };
|
|
1527
1473
|
}),
|
|
@@ -1538,13 +1484,13 @@ class MappedEditsAdapter {
|
|
|
1538
1484
|
async provideMappedEdits(resource, codeBlocks, context, token) {
|
|
1539
1485
|
const uri = URI.revive(resource);
|
|
1540
1486
|
const doc = this._documents.getDocument(uri);
|
|
1541
|
-
const usedContext = (
|
|
1487
|
+
const usedContext = ( context.documents.map((docSubArray) => ( docSubArray.map((r) => {
|
|
1542
1488
|
return {
|
|
1543
1489
|
uri: URI.revive(r.uri),
|
|
1544
1490
|
version: r.version,
|
|
1545
|
-
ranges: (
|
|
1491
|
+
ranges: ( r.ranges.map((range) => Range.to(range))),
|
|
1546
1492
|
};
|
|
1547
|
-
}))))
|
|
1493
|
+
}))));
|
|
1548
1494
|
const ctx = {
|
|
1549
1495
|
documents: usedContext,
|
|
1550
1496
|
selections: usedContext[0]?.[0]?.ranges ?? []
|
|
@@ -1569,19 +1515,17 @@ class ExtHostLanguageFeatures {
|
|
|
1569
1515
|
this._logService = _logService;
|
|
1570
1516
|
this._apiDeprecation = _apiDeprecation;
|
|
1571
1517
|
this._extensionTelemetry = _extensionTelemetry;
|
|
1572
|
-
this._adapter = (
|
|
1573
|
-
this._proxy = (
|
|
1518
|
+
this._adapter = ( new Map());
|
|
1519
|
+
this._proxy = ( mainContext.getProxy(MainContext.MainThreadLanguageFeatures));
|
|
1574
1520
|
}
|
|
1575
1521
|
_transformDocumentSelector(selector, extension) {
|
|
1576
1522
|
return DocumentSelector.from(selector, this._uriTransformer, extension);
|
|
1577
1523
|
}
|
|
1578
1524
|
_createDisposable(handle) {
|
|
1579
|
-
return (
|
|
1580
|
-
|
|
1581
|
-
|
|
1582
|
-
|
|
1583
|
-
}))
|
|
1584
|
-
);
|
|
1525
|
+
return ( new Disposable(() => {
|
|
1526
|
+
this._adapter.delete(handle);
|
|
1527
|
+
this._proxy.$unregister(handle);
|
|
1528
|
+
}));
|
|
1585
1529
|
}
|
|
1586
1530
|
_nextHandle() {
|
|
1587
1531
|
return ExtHostLanguageFeatures._handlePool++;
|
|
@@ -1593,7 +1537,7 @@ class ExtHostLanguageFeatures {
|
|
|
1593
1537
|
}
|
|
1594
1538
|
const t1 = Date.now();
|
|
1595
1539
|
if (!doNotLog) {
|
|
1596
|
-
this._logService.trace(`[${data.extension.identifier.value}] INVOKE provider '${(
|
|
1540
|
+
this._logService.trace(`[${data.extension.identifier.value}] INVOKE provider '${( callback.toString()).replace(/[\r\n]/g, '')}'`);
|
|
1597
1541
|
}
|
|
1598
1542
|
const result = callback(data.adapter, data.extension);
|
|
1599
1543
|
Promise.resolve(result).catch(err => {
|
|
@@ -1614,14 +1558,14 @@ class ExtHostLanguageFeatures {
|
|
|
1614
1558
|
}
|
|
1615
1559
|
_addNewAdapter(adapter, extension) {
|
|
1616
1560
|
const handle = this._nextHandle();
|
|
1617
|
-
this._adapter.set(handle, (
|
|
1561
|
+
this._adapter.set(handle, ( new AdapterData(adapter, extension)));
|
|
1618
1562
|
return handle;
|
|
1619
1563
|
}
|
|
1620
1564
|
static _extLabel(ext) {
|
|
1621
1565
|
return ext.displayName || ext.name;
|
|
1622
1566
|
}
|
|
1623
1567
|
registerDocumentSymbolProvider(extension, selector, provider, metadata) {
|
|
1624
|
-
const handle = this._addNewAdapter((
|
|
1568
|
+
const handle = this._addNewAdapter(( new DocumentSymbolAdapter(this._documents, provider)), extension);
|
|
1625
1569
|
const displayName = (metadata && metadata.label) || ExtHostLanguageFeatures._extLabel(extension);
|
|
1626
1570
|
this._proxy.$registerDocumentSymbolProvider(handle, this._transformDocumentSelector(selector, extension), displayName);
|
|
1627
1571
|
return this._createDisposable(handle);
|
|
@@ -1632,10 +1576,7 @@ class ExtHostLanguageFeatures {
|
|
|
1632
1576
|
registerCodeLensProvider(extension, selector, provider) {
|
|
1633
1577
|
const handle = this._nextHandle();
|
|
1634
1578
|
const eventHandle = typeof provider.onDidChangeCodeLenses === 'function' ? this._nextHandle() : undefined;
|
|
1635
|
-
this._adapter.set(handle, (
|
|
1636
|
-
(new CodeLensAdapter(this._documents, this._commands.converter, provider)),
|
|
1637
|
-
extension
|
|
1638
|
-
))));
|
|
1579
|
+
this._adapter.set(handle, ( new AdapterData(( new CodeLensAdapter(this._documents, this._commands.converter, provider)), extension)));
|
|
1639
1580
|
this._proxy.$registerCodeLensSupport(handle, this._transformDocumentSelector(selector, extension), eventHandle);
|
|
1640
1581
|
let result = this._createDisposable(handle);
|
|
1641
1582
|
if (eventHandle !== undefined) {
|
|
@@ -1654,7 +1595,7 @@ class ExtHostLanguageFeatures {
|
|
|
1654
1595
|
this._withAdapter(handle, CodeLensAdapter, adapter => Promise.resolve(adapter.releaseCodeLenses(cacheId)), undefined, undefined);
|
|
1655
1596
|
}
|
|
1656
1597
|
registerDefinitionProvider(extension, selector, provider) {
|
|
1657
|
-
const handle = this._addNewAdapter((
|
|
1598
|
+
const handle = this._addNewAdapter(( new DefinitionAdapter(this._documents, provider)), extension);
|
|
1658
1599
|
this._proxy.$registerDefinitionSupport(handle, this._transformDocumentSelector(selector, extension));
|
|
1659
1600
|
return this._createDisposable(handle);
|
|
1660
1601
|
}
|
|
@@ -1662,7 +1603,7 @@ class ExtHostLanguageFeatures {
|
|
|
1662
1603
|
return this._withAdapter(handle, DefinitionAdapter, adapter => adapter.provideDefinition(URI.revive(resource), position, token), [], token);
|
|
1663
1604
|
}
|
|
1664
1605
|
registerDeclarationProvider(extension, selector, provider) {
|
|
1665
|
-
const handle = this._addNewAdapter((
|
|
1606
|
+
const handle = this._addNewAdapter(( new DeclarationAdapter(this._documents, provider)), extension);
|
|
1666
1607
|
this._proxy.$registerDeclarationSupport(handle, this._transformDocumentSelector(selector, extension));
|
|
1667
1608
|
return this._createDisposable(handle);
|
|
1668
1609
|
}
|
|
@@ -1670,7 +1611,7 @@ class ExtHostLanguageFeatures {
|
|
|
1670
1611
|
return this._withAdapter(handle, DeclarationAdapter, adapter => adapter.provideDeclaration(URI.revive(resource), position, token), [], token);
|
|
1671
1612
|
}
|
|
1672
1613
|
registerImplementationProvider(extension, selector, provider) {
|
|
1673
|
-
const handle = this._addNewAdapter((
|
|
1614
|
+
const handle = this._addNewAdapter(( new ImplementationAdapter(this._documents, provider)), extension);
|
|
1674
1615
|
this._proxy.$registerImplementationSupport(handle, this._transformDocumentSelector(selector, extension));
|
|
1675
1616
|
return this._createDisposable(handle);
|
|
1676
1617
|
}
|
|
@@ -1678,7 +1619,7 @@ class ExtHostLanguageFeatures {
|
|
|
1678
1619
|
return this._withAdapter(handle, ImplementationAdapter, adapter => adapter.provideImplementation(URI.revive(resource), position, token), [], token);
|
|
1679
1620
|
}
|
|
1680
1621
|
registerTypeDefinitionProvider(extension, selector, provider) {
|
|
1681
|
-
const handle = this._addNewAdapter((
|
|
1622
|
+
const handle = this._addNewAdapter(( new TypeDefinitionAdapter(this._documents, provider)), extension);
|
|
1682
1623
|
this._proxy.$registerTypeDefinitionSupport(handle, this._transformDocumentSelector(selector, extension));
|
|
1683
1624
|
return this._createDisposable(handle);
|
|
1684
1625
|
}
|
|
@@ -1686,7 +1627,7 @@ class ExtHostLanguageFeatures {
|
|
|
1686
1627
|
return this._withAdapter(handle, TypeDefinitionAdapter, adapter => adapter.provideTypeDefinition(URI.revive(resource), position, token), [], token);
|
|
1687
1628
|
}
|
|
1688
1629
|
registerHoverProvider(extension, selector, provider, extensionId) {
|
|
1689
|
-
const handle = this._addNewAdapter((
|
|
1630
|
+
const handle = this._addNewAdapter(( new HoverAdapter(this._documents, provider)), extension);
|
|
1690
1631
|
this._proxy.$registerHoverProvider(handle, this._transformDocumentSelector(selector, extension));
|
|
1691
1632
|
return this._createDisposable(handle);
|
|
1692
1633
|
}
|
|
@@ -1694,7 +1635,7 @@ class ExtHostLanguageFeatures {
|
|
|
1694
1635
|
return this._withAdapter(handle, HoverAdapter, adapter => adapter.provideHover(URI.revive(resource), position, token), undefined, token);
|
|
1695
1636
|
}
|
|
1696
1637
|
registerEvaluatableExpressionProvider(extension, selector, provider, extensionId) {
|
|
1697
|
-
const handle = this._addNewAdapter((
|
|
1638
|
+
const handle = this._addNewAdapter(( new EvaluatableExpressionAdapter(this._documents, provider)), extension);
|
|
1698
1639
|
this._proxy.$registerEvaluatableExpressionProvider(handle, this._transformDocumentSelector(selector, extension));
|
|
1699
1640
|
return this._createDisposable(handle);
|
|
1700
1641
|
}
|
|
@@ -1703,7 +1644,7 @@ class ExtHostLanguageFeatures {
|
|
|
1703
1644
|
}
|
|
1704
1645
|
registerInlineValuesProvider(extension, selector, provider, extensionId) {
|
|
1705
1646
|
const eventHandle = typeof provider.onDidChangeInlineValues === 'function' ? this._nextHandle() : undefined;
|
|
1706
|
-
const handle = this._addNewAdapter((
|
|
1647
|
+
const handle = this._addNewAdapter(( new InlineValuesAdapter(this._documents, provider)), extension);
|
|
1707
1648
|
this._proxy.$registerInlineValuesProvider(handle, this._transformDocumentSelector(selector, extension), eventHandle);
|
|
1708
1649
|
let result = this._createDisposable(handle);
|
|
1709
1650
|
if (eventHandle !== undefined) {
|
|
@@ -1716,7 +1657,7 @@ class ExtHostLanguageFeatures {
|
|
|
1716
1657
|
return this._withAdapter(handle, InlineValuesAdapter, adapter => adapter.provideInlineValues(URI.revive(resource), range, context, token), undefined, token);
|
|
1717
1658
|
}
|
|
1718
1659
|
registerDocumentHighlightProvider(extension, selector, provider) {
|
|
1719
|
-
const handle = this._addNewAdapter((
|
|
1660
|
+
const handle = this._addNewAdapter(( new DocumentHighlightAdapter(this._documents, provider)), extension);
|
|
1720
1661
|
this._proxy.$registerDocumentHighlightProvider(handle, this._transformDocumentSelector(selector, extension));
|
|
1721
1662
|
return this._createDisposable(handle);
|
|
1722
1663
|
}
|
|
@@ -1724,7 +1665,7 @@ class ExtHostLanguageFeatures {
|
|
|
1724
1665
|
return this._withAdapter(handle, DocumentHighlightAdapter, adapter => adapter.provideDocumentHighlights(URI.revive(resource), position, token), undefined, token);
|
|
1725
1666
|
}
|
|
1726
1667
|
registerLinkedEditingRangeProvider(extension, selector, provider) {
|
|
1727
|
-
const handle = this._addNewAdapter((
|
|
1668
|
+
const handle = this._addNewAdapter(( new LinkedEditingRangeAdapter(this._documents, provider)), extension);
|
|
1728
1669
|
this._proxy.$registerLinkedEditingRangeProvider(handle, this._transformDocumentSelector(selector, extension));
|
|
1729
1670
|
return this._createDisposable(handle);
|
|
1730
1671
|
}
|
|
@@ -1741,7 +1682,7 @@ class ExtHostLanguageFeatures {
|
|
|
1741
1682
|
}, undefined, token);
|
|
1742
1683
|
}
|
|
1743
1684
|
registerReferenceProvider(extension, selector, provider) {
|
|
1744
|
-
const handle = this._addNewAdapter((
|
|
1685
|
+
const handle = this._addNewAdapter(( new ReferenceAdapter(this._documents, provider)), extension);
|
|
1745
1686
|
this._proxy.$registerReferenceSupport(handle, this._transformDocumentSelector(selector, extension));
|
|
1746
1687
|
return this._createDisposable(handle);
|
|
1747
1688
|
}
|
|
@@ -1749,8 +1690,8 @@ class ExtHostLanguageFeatures {
|
|
|
1749
1690
|
return this._withAdapter(handle, ReferenceAdapter, adapter => adapter.provideReferences(URI.revive(resource), position, context, token), undefined, token);
|
|
1750
1691
|
}
|
|
1751
1692
|
registerCodeActionProvider(extension, selector, provider, metadata) {
|
|
1752
|
-
const store = (
|
|
1753
|
-
const handle = this._addNewAdapter((
|
|
1693
|
+
const store = ( new DisposableStore());
|
|
1694
|
+
const handle = this._addNewAdapter(( new CodeActionAdapter(
|
|
1754
1695
|
this._documents,
|
|
1755
1696
|
this._commands.converter,
|
|
1756
1697
|
this._diagnostics,
|
|
@@ -1758,7 +1699,7 @@ class ExtHostLanguageFeatures {
|
|
|
1758
1699
|
this._logService,
|
|
1759
1700
|
extension,
|
|
1760
1701
|
this._apiDeprecation
|
|
1761
|
-
))
|
|
1702
|
+
)), extension);
|
|
1762
1703
|
this._proxy.$registerQuickFixSupport(handle, this._transformDocumentSelector(selector, extension), {
|
|
1763
1704
|
providedKinds: metadata?.providedCodeActionKinds?.map(kind => kind.value),
|
|
1764
1705
|
documentation: metadata?.documentation?.map(x => ({
|
|
@@ -1779,7 +1720,7 @@ class ExtHostLanguageFeatures {
|
|
|
1779
1720
|
this._withAdapter(handle, CodeActionAdapter, adapter => Promise.resolve(adapter.releaseCodeActions(cacheId)), undefined, undefined);
|
|
1780
1721
|
}
|
|
1781
1722
|
registerDocumentFormattingEditProvider(extension, selector, provider) {
|
|
1782
|
-
const handle = this._addNewAdapter((
|
|
1723
|
+
const handle = this._addNewAdapter(( new DocumentFormattingAdapter(this._documents, provider)), extension);
|
|
1783
1724
|
this._proxy.$registerDocumentFormattingSupport(handle, this._transformDocumentSelector(selector, extension), extension.identifier, extension.displayName || extension.name);
|
|
1784
1725
|
return this._createDisposable(handle);
|
|
1785
1726
|
}
|
|
@@ -1788,7 +1729,7 @@ class ExtHostLanguageFeatures {
|
|
|
1788
1729
|
}
|
|
1789
1730
|
registerDocumentRangeFormattingEditProvider(extension, selector, provider) {
|
|
1790
1731
|
const canFormatMultipleRanges = typeof provider.provideDocumentRangesFormattingEdits === 'function';
|
|
1791
|
-
const handle = this._addNewAdapter((
|
|
1732
|
+
const handle = this._addNewAdapter(( new RangeFormattingAdapter(this._documents, provider)), extension);
|
|
1792
1733
|
this._proxy.$registerRangeFormattingSupport(handle, this._transformDocumentSelector(selector, extension), extension.identifier, extension.displayName || extension.name, canFormatMultipleRanges);
|
|
1793
1734
|
return this._createDisposable(handle);
|
|
1794
1735
|
}
|
|
@@ -1799,7 +1740,7 @@ class ExtHostLanguageFeatures {
|
|
|
1799
1740
|
return this._withAdapter(handle, RangeFormattingAdapter, adapter => adapter.provideDocumentRangesFormattingEdits(URI.revive(resource), ranges, options, token), undefined, token);
|
|
1800
1741
|
}
|
|
1801
1742
|
registerOnTypeFormattingEditProvider(extension, selector, provider, triggerCharacters) {
|
|
1802
|
-
const handle = this._addNewAdapter((
|
|
1743
|
+
const handle = this._addNewAdapter(( new OnTypeFormattingAdapter(this._documents, provider)), extension);
|
|
1803
1744
|
this._proxy.$registerOnTypeFormattingSupport(handle, this._transformDocumentSelector(selector, extension), triggerCharacters, extension.identifier);
|
|
1804
1745
|
return this._createDisposable(handle);
|
|
1805
1746
|
}
|
|
@@ -1807,7 +1748,7 @@ class ExtHostLanguageFeatures {
|
|
|
1807
1748
|
return this._withAdapter(handle, OnTypeFormattingAdapter, adapter => adapter.provideOnTypeFormattingEdits(URI.revive(resource), position, ch, options, token), undefined, token);
|
|
1808
1749
|
}
|
|
1809
1750
|
registerWorkspaceSymbolProvider(extension, provider) {
|
|
1810
|
-
const handle = this._addNewAdapter((
|
|
1751
|
+
const handle = this._addNewAdapter(( new NavigateTypeAdapter(provider, this._logService)), extension);
|
|
1811
1752
|
this._proxy.$registerNavigateTypeSupport(handle, typeof provider.resolveWorkspaceSymbol === 'function');
|
|
1812
1753
|
return this._createDisposable(handle);
|
|
1813
1754
|
}
|
|
@@ -1821,7 +1762,7 @@ class ExtHostLanguageFeatures {
|
|
|
1821
1762
|
this._withAdapter(handle, NavigateTypeAdapter, adapter => adapter.releaseWorkspaceSymbols(id), undefined, undefined);
|
|
1822
1763
|
}
|
|
1823
1764
|
registerRenameProvider(extension, selector, provider) {
|
|
1824
|
-
const handle = this._addNewAdapter((
|
|
1765
|
+
const handle = this._addNewAdapter(( new RenameAdapter(this._documents, provider, this._logService)), extension);
|
|
1825
1766
|
this._proxy.$registerRenameSupport(handle, this._transformDocumentSelector(selector, extension), RenameAdapter.supportsResolving(provider));
|
|
1826
1767
|
return this._createDisposable(handle);
|
|
1827
1768
|
}
|
|
@@ -1832,7 +1773,7 @@ class ExtHostLanguageFeatures {
|
|
|
1832
1773
|
return this._withAdapter(handle, RenameAdapter, adapter => adapter.resolveRenameLocation(URI.revive(resource), position, token), undefined, token);
|
|
1833
1774
|
}
|
|
1834
1775
|
registerDocumentSemanticTokensProvider(extension, selector, provider, legend) {
|
|
1835
|
-
const handle = this._addNewAdapter((
|
|
1776
|
+
const handle = this._addNewAdapter(( new DocumentSemanticTokensAdapter(this._documents, provider)), extension);
|
|
1836
1777
|
const eventHandle = (typeof provider.onDidChangeSemanticTokens === 'function' ? this._nextHandle() : undefined);
|
|
1837
1778
|
this._proxy.$registerDocumentSemanticTokensProvider(handle, this._transformDocumentSelector(selector, extension), legend, eventHandle);
|
|
1838
1779
|
let result = this._createDisposable(handle);
|
|
@@ -1849,7 +1790,7 @@ class ExtHostLanguageFeatures {
|
|
|
1849
1790
|
this._withAdapter(handle, DocumentSemanticTokensAdapter, adapter => adapter.releaseDocumentSemanticColoring(semanticColoringResultId), undefined, undefined);
|
|
1850
1791
|
}
|
|
1851
1792
|
registerDocumentRangeSemanticTokensProvider(extension, selector, provider, legend) {
|
|
1852
|
-
const handle = this._addNewAdapter((
|
|
1793
|
+
const handle = this._addNewAdapter(( new DocumentRangeSemanticTokensAdapter(this._documents, provider)), extension);
|
|
1853
1794
|
this._proxy.$registerDocumentRangeSemanticTokensProvider(handle, this._transformDocumentSelector(selector, extension), legend);
|
|
1854
1795
|
return this._createDisposable(handle);
|
|
1855
1796
|
}
|
|
@@ -1857,13 +1798,13 @@ class ExtHostLanguageFeatures {
|
|
|
1857
1798
|
return this._withAdapter(handle, DocumentRangeSemanticTokensAdapter, adapter => adapter.provideDocumentRangeSemanticTokens(URI.revive(resource), range, token), null, token);
|
|
1858
1799
|
}
|
|
1859
1800
|
registerCompletionItemProvider(extension, selector, provider, triggerCharacters) {
|
|
1860
|
-
const handle = this._addNewAdapter((
|
|
1801
|
+
const handle = this._addNewAdapter(( new CompletionsAdapter(
|
|
1861
1802
|
this._documents,
|
|
1862
1803
|
this._commands.converter,
|
|
1863
1804
|
provider,
|
|
1864
1805
|
this._apiDeprecation,
|
|
1865
1806
|
extension
|
|
1866
|
-
))
|
|
1807
|
+
)), extension);
|
|
1867
1808
|
this._proxy.$registerCompletionsProvider(handle, this._transformDocumentSelector(selector, extension), triggerCharacters, CompletionsAdapter.supportsResolving(provider), extension.identifier);
|
|
1868
1809
|
return this._createDisposable(handle);
|
|
1869
1810
|
}
|
|
@@ -1877,7 +1818,7 @@ class ExtHostLanguageFeatures {
|
|
|
1877
1818
|
this._withAdapter(handle, CompletionsAdapter, adapter => adapter.releaseCompletionItems(id), undefined, undefined);
|
|
1878
1819
|
}
|
|
1879
1820
|
registerInlineCompletionsProvider(extension, selector, provider, metadata) {
|
|
1880
|
-
const adapter = (
|
|
1821
|
+
const adapter = ( new InlineCompletionAdapter(extension, this._documents, provider, this._commands.converter));
|
|
1881
1822
|
const handle = this._addNewAdapter(adapter, extension);
|
|
1882
1823
|
this._proxy.$registerInlineCompletionsSupport(handle, this._transformDocumentSelector(selector, extension), adapter.supportsHandleEvents, ExtensionIdentifier.toKey(extension.identifier.value), metadata?.yieldTo?.map(extId => ExtensionIdentifier.toKey(extId)) || []);
|
|
1883
1824
|
return this._createDisposable(handle);
|
|
@@ -1902,7 +1843,7 @@ class ExtHostLanguageFeatures {
|
|
|
1902
1843
|
const metadata = Array.isArray(metadataOrTriggerChars)
|
|
1903
1844
|
? { triggerCharacters: metadataOrTriggerChars, retriggerCharacters: [] }
|
|
1904
1845
|
: metadataOrTriggerChars;
|
|
1905
|
-
const handle = this._addNewAdapter((
|
|
1846
|
+
const handle = this._addNewAdapter(( new SignatureHelpAdapter(this._documents, provider)), extension);
|
|
1906
1847
|
this._proxy.$registerSignatureHelpProvider(handle, this._transformDocumentSelector(selector, extension), metadata);
|
|
1907
1848
|
return this._createDisposable(handle);
|
|
1908
1849
|
}
|
|
@@ -1914,13 +1855,13 @@ class ExtHostLanguageFeatures {
|
|
|
1914
1855
|
}
|
|
1915
1856
|
registerInlayHintsProvider(extension, selector, provider) {
|
|
1916
1857
|
const eventHandle = typeof provider.onDidChangeInlayHints === 'function' ? this._nextHandle() : undefined;
|
|
1917
|
-
const handle = this._addNewAdapter((
|
|
1858
|
+
const handle = this._addNewAdapter(( new InlayHintsAdapter(
|
|
1918
1859
|
this._documents,
|
|
1919
1860
|
this._commands.converter,
|
|
1920
1861
|
provider,
|
|
1921
1862
|
this._logService,
|
|
1922
1863
|
extension
|
|
1923
|
-
))
|
|
1864
|
+
)), extension);
|
|
1924
1865
|
this._proxy.$registerInlayHintsProvider(handle, this._transformDocumentSelector(selector, extension), typeof provider.resolveInlayHint === 'function', eventHandle, ExtHostLanguageFeatures._extLabel(extension));
|
|
1925
1866
|
let result = this._createDisposable(handle);
|
|
1926
1867
|
if (eventHandle !== undefined) {
|
|
@@ -1939,7 +1880,7 @@ class ExtHostLanguageFeatures {
|
|
|
1939
1880
|
this._withAdapter(handle, InlayHintsAdapter, adapter => adapter.releaseHints(id), undefined, undefined);
|
|
1940
1881
|
}
|
|
1941
1882
|
registerDocumentLinkProvider(extension, selector, provider) {
|
|
1942
|
-
const handle = this._addNewAdapter((
|
|
1883
|
+
const handle = this._addNewAdapter(( new LinkProviderAdapter(this._documents, provider)), extension);
|
|
1943
1884
|
this._proxy.$registerDocumentLinkProvider(handle, this._transformDocumentSelector(selector, extension), typeof provider.resolveDocumentLink === 'function');
|
|
1944
1885
|
return this._createDisposable(handle);
|
|
1945
1886
|
}
|
|
@@ -1953,7 +1894,7 @@ class ExtHostLanguageFeatures {
|
|
|
1953
1894
|
this._withAdapter(handle, LinkProviderAdapter, adapter => adapter.releaseLinks(id), undefined, undefined, true);
|
|
1954
1895
|
}
|
|
1955
1896
|
registerColorProvider(extension, selector, provider) {
|
|
1956
|
-
const handle = this._addNewAdapter((
|
|
1897
|
+
const handle = this._addNewAdapter(( new ColorProviderAdapter(this._documents, provider)), extension);
|
|
1957
1898
|
this._proxy.$registerDocumentColorProvider(handle, this._transformDocumentSelector(selector, extension));
|
|
1958
1899
|
return this._createDisposable(handle);
|
|
1959
1900
|
}
|
|
@@ -1966,10 +1907,7 @@ class ExtHostLanguageFeatures {
|
|
|
1966
1907
|
registerFoldingRangeProvider(extension, selector, provider) {
|
|
1967
1908
|
const handle = this._nextHandle();
|
|
1968
1909
|
const eventHandle = typeof provider.onDidChangeFoldingRanges === 'function' ? this._nextHandle() : undefined;
|
|
1969
|
-
this._adapter.set(handle, (
|
|
1970
|
-
(new FoldingProviderAdapter(this._documents, provider)),
|
|
1971
|
-
extension
|
|
1972
|
-
))));
|
|
1910
|
+
this._adapter.set(handle, ( new AdapterData(( new FoldingProviderAdapter(this._documents, provider)), extension)));
|
|
1973
1911
|
this._proxy.$registerFoldingRangeProvider(handle, this._transformDocumentSelector(selector, extension), extension.identifier, eventHandle);
|
|
1974
1912
|
let result = this._createDisposable(handle);
|
|
1975
1913
|
if (eventHandle !== undefined) {
|
|
@@ -1982,7 +1920,7 @@ class ExtHostLanguageFeatures {
|
|
|
1982
1920
|
return this._withAdapter(handle, FoldingProviderAdapter, (adapter) => adapter.provideFoldingRanges(URI.revive(resource), context, token), undefined, token);
|
|
1983
1921
|
}
|
|
1984
1922
|
registerSelectionRangeProvider(extension, selector, provider) {
|
|
1985
|
-
const handle = this._addNewAdapter((
|
|
1923
|
+
const handle = this._addNewAdapter(( new SelectionRangeAdapter(this._documents, provider, this._logService)), extension);
|
|
1986
1924
|
this._proxy.$registerSelectionRangeProvider(handle, this._transformDocumentSelector(selector, extension));
|
|
1987
1925
|
return this._createDisposable(handle);
|
|
1988
1926
|
}
|
|
@@ -1990,7 +1928,7 @@ class ExtHostLanguageFeatures {
|
|
|
1990
1928
|
return this._withAdapter(handle, SelectionRangeAdapter, adapter => adapter.provideSelectionRanges(URI.revive(resource), positions, token), [], token);
|
|
1991
1929
|
}
|
|
1992
1930
|
registerCallHierarchyProvider(extension, selector, provider) {
|
|
1993
|
-
const handle = this._addNewAdapter((
|
|
1931
|
+
const handle = this._addNewAdapter(( new CallHierarchyAdapter(this._documents, provider)), extension);
|
|
1994
1932
|
this._proxy.$registerCallHierarchyProvider(handle, this._transformDocumentSelector(selector, extension));
|
|
1995
1933
|
return this._createDisposable(handle);
|
|
1996
1934
|
}
|
|
@@ -2007,7 +1945,7 @@ class ExtHostLanguageFeatures {
|
|
|
2007
1945
|
this._withAdapter(handle, CallHierarchyAdapter, adapter => Promise.resolve(adapter.releaseSession(sessionId)), undefined, undefined);
|
|
2008
1946
|
}
|
|
2009
1947
|
registerTypeHierarchyProvider(extension, selector, provider) {
|
|
2010
|
-
const handle = this._addNewAdapter((
|
|
1948
|
+
const handle = this._addNewAdapter(( new TypeHierarchyAdapter(this._documents, provider)), extension);
|
|
2011
1949
|
this._proxy.$registerTypeHierarchyProvider(handle, this._transformDocumentSelector(selector, extension));
|
|
2012
1950
|
return this._createDisposable(handle);
|
|
2013
1951
|
}
|
|
@@ -2025,10 +1963,7 @@ class ExtHostLanguageFeatures {
|
|
|
2025
1963
|
}
|
|
2026
1964
|
registerDocumentOnDropEditProvider(extension, selector, provider, metadata) {
|
|
2027
1965
|
const handle = this._nextHandle();
|
|
2028
|
-
this._adapter.set(handle, (
|
|
2029
|
-
(new DocumentOnDropEditAdapter(this._proxy, this._documents, provider, handle, extension)),
|
|
2030
|
-
extension
|
|
2031
|
-
))));
|
|
1966
|
+
this._adapter.set(handle, ( new AdapterData(( new DocumentOnDropEditAdapter(this._proxy, this._documents, provider, handle, extension)), extension)));
|
|
2032
1967
|
const id = isProposedApiEnabled(extension, 'dropMetadata') && metadata ? DocumentOnDropEditAdapter.toInternalProviderId(extension.identifier.value, metadata.id) : undefined;
|
|
2033
1968
|
this._proxy.$registerDocumentOnDropEditProvider(handle, this._transformDocumentSelector(selector, extension), id, isProposedApiEnabled(extension, 'dropMetadata') ? metadata : undefined);
|
|
2034
1969
|
return this._createDisposable(handle);
|
|
@@ -2037,7 +1972,7 @@ class ExtHostLanguageFeatures {
|
|
|
2037
1972
|
return this._withAdapter(handle, DocumentOnDropEditAdapter, adapter => Promise.resolve(adapter.provideDocumentOnDropEdits(requestId, URI.revive(resource), position, dataTransferDto, token)), undefined, undefined);
|
|
2038
1973
|
}
|
|
2039
1974
|
registerMappedEditsProvider(extension, selector, provider) {
|
|
2040
|
-
const handle = this._addNewAdapter((
|
|
1975
|
+
const handle = this._addNewAdapter(( new MappedEditsAdapter(this._documents, provider)), extension);
|
|
2041
1976
|
this._proxy.$registerMappedEditsProvider(handle, this._transformDocumentSelector(selector, extension));
|
|
2042
1977
|
return this._createDisposable(handle);
|
|
2043
1978
|
}
|
|
@@ -2046,10 +1981,7 @@ class ExtHostLanguageFeatures {
|
|
|
2046
1981
|
}
|
|
2047
1982
|
registerDocumentPasteEditProvider(extension, selector, provider, metadata) {
|
|
2048
1983
|
const handle = this._nextHandle();
|
|
2049
|
-
this._adapter.set(handle, (
|
|
2050
|
-
(new DocumentPasteEditProvider(this._proxy, this._documents, provider, handle, extension)),
|
|
2051
|
-
extension
|
|
2052
|
-
))));
|
|
1984
|
+
this._adapter.set(handle, ( new AdapterData(( new DocumentPasteEditProvider(this._proxy, this._documents, provider, handle, extension)), extension)));
|
|
2053
1985
|
const internalId = DocumentPasteEditProvider.toInternalProviderId(extension.identifier.value, metadata.id);
|
|
2054
1986
|
this._proxy.$registerPasteEditProvider(handle, this._transformDocumentSelector(selector, extension), internalId, {
|
|
2055
1987
|
supportsCopy: !!provider.prepareDocumentPaste,
|
|
@@ -2088,21 +2020,17 @@ class ExtHostLanguageFeatures {
|
|
|
2088
2020
|
};
|
|
2089
2021
|
}
|
|
2090
2022
|
static _serializeOnEnterRules(onEnterRules) {
|
|
2091
|
-
return (
|
|
2092
|
-
(onEnterRules.map(ExtHostLanguageFeatures._serializeOnEnterRule))
|
|
2093
|
-
);
|
|
2023
|
+
return ( onEnterRules.map(ExtHostLanguageFeatures._serializeOnEnterRule));
|
|
2094
2024
|
}
|
|
2095
2025
|
static _serializeAutoClosingPair(autoClosingPair) {
|
|
2096
2026
|
return {
|
|
2097
2027
|
open: autoClosingPair.open,
|
|
2098
2028
|
close: autoClosingPair.close,
|
|
2099
|
-
notIn: autoClosingPair.notIn ? (
|
|
2029
|
+
notIn: autoClosingPair.notIn ? ( autoClosingPair.notIn.map(v => ( SyntaxTokenType.toString(v)))) : undefined,
|
|
2100
2030
|
};
|
|
2101
2031
|
}
|
|
2102
2032
|
static _serializeAutoClosingPairs(autoClosingPairs) {
|
|
2103
|
-
return (
|
|
2104
|
-
(autoClosingPairs.map(ExtHostLanguageFeatures._serializeAutoClosingPair))
|
|
2105
|
-
);
|
|
2033
|
+
return ( autoClosingPairs.map(ExtHostLanguageFeatures._serializeAutoClosingPair));
|
|
2106
2034
|
}
|
|
2107
2035
|
setLanguageConfiguration(extension, languageId, configuration) {
|
|
2108
2036
|
const { wordPattern } = configuration;
|
|
@@ -2137,7 +2065,7 @@ class ExtHostLanguageFeatures {
|
|
|
2137
2065
|
}
|
|
2138
2066
|
$setWordDefinitions(wordDefinitions) {
|
|
2139
2067
|
for (const wordDefinition of wordDefinitions) {
|
|
2140
|
-
this._documents.setWordDefinitionFor(wordDefinition.languageId, (
|
|
2068
|
+
this._documents.setWordDefinitionFor(wordDefinition.languageId, ( new RegExp(wordDefinition.regexSource, wordDefinition.regexFlags)));
|
|
2141
2069
|
}
|
|
2142
2070
|
}
|
|
2143
2071
|
}
|