@codingame/monaco-vscode-api 6.0.2 → 7.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +93 -73
- package/api.js +1 -1
- package/debugProtocol.d.ts +10 -1
- package/extensions.d.ts +2 -0
- package/missing-services.js +21 -2
- package/monaco.d.ts +1 -1
- package/monaco.js +1 -1
- package/package.json +9 -9
- package/service-override/extensions.d.ts +1 -2
- package/services.js +4 -2
- package/vscode/src/vs/base/browser/dnd.js +1 -1
- package/vscode/src/vs/base/browser/dom.js +116 -5
- package/vscode/src/vs/base/browser/domObservable.js +16 -0
- package/vscode/src/vs/base/browser/markdownRenderer.js +5 -3
- package/vscode/src/vs/base/browser/trustedTypes.js +1 -2
- package/vscode/src/vs/base/browser/ui/actionbar/actionViewItems.js +1 -1
- package/vscode/src/vs/base/browser/ui/actionbar/actionbar.js +1 -1
- package/vscode/src/vs/base/browser/ui/button/button.js +2 -2
- package/vscode/src/vs/base/browser/ui/contextview/contextview.js +1 -4
- package/vscode/src/vs/base/browser/ui/dropdown/dropdown.js +1 -1
- package/vscode/src/vs/base/browser/ui/dropdown/dropdownActionViewItem.js +1 -1
- package/vscode/src/vs/base/browser/ui/highlightedlabel/highlightedLabel.js +1 -1
- package/vscode/src/vs/base/browser/ui/hover/hover.d.ts +32 -16
- package/vscode/src/vs/base/browser/ui/hover/hoverDelegate.d.ts +2 -2
- package/vscode/src/vs/base/browser/ui/hover/hoverDelegate2.js +2 -2
- package/vscode/src/vs/base/browser/ui/hover/hoverWidget.css.js +1 -1
- package/vscode/src/vs/base/browser/ui/hover/hoverWidget.js +2 -0
- package/vscode/src/vs/base/browser/ui/iconLabel/iconLabel.js +1 -1
- package/vscode/src/vs/base/browser/ui/iconLabel/simpleIconLabel.js +1 -1
- package/vscode/src/vs/base/browser/ui/inputbox/inputBox.js +1 -1
- package/vscode/src/vs/base/browser/ui/keybindingLabel/keybindingLabel.js +1 -1
- package/vscode/src/vs/base/browser/ui/list/listView.js +3 -5
- package/vscode/src/vs/base/browser/ui/list/rowCache.js +1 -8
- package/vscode/src/vs/base/browser/ui/sash/sash.js +1 -1
- package/vscode/src/vs/base/browser/ui/selectBox/selectBoxCustom.js +7 -11
- package/vscode/src/vs/base/browser/ui/splitview/paneview.js +1 -1
- package/vscode/src/vs/base/browser/ui/splitview/splitview.js +1 -1
- package/vscode/src/vs/base/browser/ui/table/tableWidget.js +1 -1
- package/vscode/src/vs/base/browser/ui/toggle/toggle.js +1 -1
- package/vscode/src/vs/base/browser/ui/toolbar/toolbar.d.ts +8 -1
- package/vscode/src/vs/base/browser/ui/toolbar/toolbar.js +2 -3
- package/vscode/src/vs/base/browser/ui/tree/abstractTree.js +1 -1
- package/vscode/src/vs/base/browser/ui/tree/asyncDataTree.js +0 -3
- package/vscode/src/vs/base/common/assert.js +1 -1
- package/vscode/src/vs/base/common/collections.js +49 -1
- package/vscode/src/vs/base/common/equals.js +55 -5
- package/vscode/src/vs/base/common/errors.js +14 -1
- package/vscode/src/vs/base/common/event.js +2 -1
- package/vscode/src/vs/base/common/history.js +7 -4
- package/vscode/src/vs/base/common/iterator.js +9 -1
- package/vscode/src/vs/base/common/map.d.ts +41 -0
- package/vscode/src/vs/base/common/numbers.js +18 -1
- package/vscode/src/vs/base/common/observableInternal/api.js +11 -0
- package/vscode/src/vs/base/common/observableInternal/autorun.js +18 -1
- package/vscode/src/vs/base/common/observableInternal/base.d.ts +8 -1
- package/vscode/src/vs/base/common/observableInternal/base.js +2 -5
- package/vscode/src/vs/base/common/observableInternal/derived.js +13 -3
- package/vscode/src/vs/base/common/observableInternal/lazyObservableValue.js +109 -0
- package/vscode/src/vs/base/common/observableInternal/promise.js +3 -0
- package/vscode/src/vs/base/common/observableInternal/utils.d.ts +7 -0
- package/vscode/src/vs/base/common/observableInternal/utils.js +64 -12
- package/vscode/src/vs/base/common/prefixTree.d.ts +52 -0
- package/vscode/src/vs/base/common/product.d.ts +1 -0
- package/vscode/src/vs/base/parts/ipc/common/ipc.js +1 -1
- package/vscode/src/vs/editor/browser/config/charWidthReader.js +1 -1
- package/vscode/src/vs/editor/browser/controller/textAreaHandler.js +1 -1
- package/vscode/src/vs/editor/browser/coreCommands.js +2 -1
- package/vscode/src/vs/editor/browser/observableCodeEditor.js +230 -0
- package/vscode/src/vs/editor/browser/services/abstractCodeEditorService.js +1 -1
- package/vscode/src/vs/editor/browser/services/hoverService/hoverService.js +26 -26
- package/vscode/src/vs/editor/browser/services/hoverService/updatableHoverWidget.js +2 -2
- package/vscode/src/vs/editor/browser/view/domLineBreaksComputer.js +1 -1
- package/vscode/src/vs/editor/browser/view/viewLayer.js +4 -12
- package/vscode/src/vs/editor/browser/viewParts/contentWidgets/contentWidgets.js +1 -1
- package/vscode/src/vs/editor/browser/viewParts/glyphMargin/glyphMargin.js +1 -1
- package/vscode/src/vs/editor/browser/viewParts/viewZones/viewZones.js +2 -2
- package/vscode/src/vs/editor/browser/widget/codeEditor/codeEditorWidget.js +15 -4
- package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorEditors.js +8 -8
- package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorViewZones/diffEditorViewZones.js +4 -4
- package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorOptions.js +1 -1
- package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorViewModel.js +1 -1
- package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorWidget.js +14 -2
- package/vscode/src/vs/editor/browser/widget/diffEditor/features/gutterFeature.js +1 -1
- package/vscode/src/vs/editor/browser/widget/diffEditor/features/movedBlocksLinesFeature.js +2 -2
- package/vscode/src/vs/editor/browser/widget/diffEditor/registrations.contribution.js +2 -2
- package/vscode/src/vs/editor/browser/widget/diffEditor/utils/editorGutter.js +3 -3
- package/vscode/src/vs/editor/browser/widget/diffEditor/utils.js +2 -2
- package/vscode/src/vs/editor/browser/widget/multiDiffEditor/colors.js +1 -1
- package/vscode/src/vs/editor/browser/widget/multiDiffEditor/multiDiffEditorWidgetImpl.js +2 -2
- package/vscode/src/vs/editor/common/config/editorOptions.d.ts +5 -0
- package/vscode/src/vs/editor/common/config/editorOptions.js +83 -65
- package/vscode/src/vs/editor/common/core/editorColorRegistry.js +43 -43
- package/vscode/src/vs/editor/common/cursor/cursor.js +3 -2
- package/vscode/src/vs/editor/common/cursor/cursorTypeEditOperations.js +911 -0
- package/vscode/src/vs/editor/common/cursor/cursorTypeOperations.js +36 -799
- package/vscode/src/vs/editor/common/cursor/cursorWordOperations.js +6 -5
- package/vscode/src/vs/editor/common/languageFeatureRegistry.d.ts +1 -0
- package/vscode/src/vs/editor/common/languageFeatureRegistry.js +3 -0
- package/vscode/src/vs/editor/common/languages/autoIndent.js +23 -1
- package/vscode/src/vs/editor/common/languages.d.ts +20 -3
- package/vscode/src/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsImpl.js +6 -6
- package/vscode/src/vs/editor/common/model/pieceTreeTextBuffer/pieceTreeBase.js +19 -0
- package/vscode/src/vs/editor/common/model/pieceTreeTextBuffer/pieceTreeTextBuffer.js +3 -0
- package/vscode/src/vs/editor/common/model/textModel.js +6 -2
- package/vscode/src/vs/editor/common/model/tokenizationTextModelPart.js +5 -5
- package/vscode/src/vs/editor/common/model.d.ts +4 -0
- package/vscode/src/vs/editor/common/services/getIconClasses.js +1 -1
- package/vscode/src/vs/editor/common/services/semanticTokensProviderStyling.js +2 -15
- package/vscode/src/vs/editor/common/standalone/standaloneEnums.js +63 -62
- package/vscode/src/vs/editor/common/viewModel/viewModelImpl.js +11 -8
- package/vscode/src/vs/editor/contrib/bracketMatching/browser/bracketMatching.js +1 -1
- package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionController.js +2 -17
- package/vscode/src/vs/editor/contrib/codeAction/browser/lightBulbWidget.css.js +1 -1
- package/vscode/src/vs/editor/contrib/codeAction/browser/lightBulbWidget.js +18 -5
- package/vscode/src/vs/editor/contrib/colorPicker/browser/colorHoverParticipant.js +55 -27
- package/vscode/src/vs/editor/contrib/colorPicker/browser/colorPickerWidget.js +7 -4
- package/vscode/src/vs/editor/contrib/colorPicker/browser/standaloneColorPickerWidget.js +9 -9
- package/vscode/src/vs/editor/contrib/contextmenu/browser/contextmenu.js +1 -1
- package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/copyPasteController.js +103 -47
- package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/defaultProviders.js +8 -2
- package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/dropIntoEditorController.js +18 -10
- package/vscode/src/vs/editor/contrib/find/browser/findWidget.js +2 -4
- package/vscode/src/vs/editor/contrib/folding/browser/folding.css.js +1 -1
- package/vscode/src/vs/editor/contrib/folding/browser/folding.js +33 -13
- package/vscode/src/vs/editor/contrib/folding/browser/foldingDecorations.js +12 -7
- package/vscode/src/vs/editor/contrib/gotoError/browser/gotoErrorWidget.js +1 -1
- package/vscode/src/vs/editor/contrib/gotoSymbol/browser/peek/referencesWidget.js +2 -2
- package/vscode/src/vs/editor/contrib/hover/browser/contentHoverController.js +161 -185
- package/vscode/src/vs/editor/contrib/hover/browser/contentHoverRendered.js +321 -0
- package/vscode/src/vs/editor/contrib/hover/browser/contentHoverStatusBar.js +4 -1
- package/vscode/src/vs/editor/contrib/hover/browser/contentHoverTypes.js +6 -21
- package/vscode/src/vs/editor/contrib/hover/browser/contentHoverWidget.js +39 -40
- package/vscode/src/vs/editor/contrib/hover/browser/hoverAccessibleViews.js +55 -46
- package/vscode/src/vs/editor/contrib/hover/browser/hoverActions.js +12 -2
- package/vscode/src/vs/editor/contrib/hover/browser/hoverController.js +15 -9
- package/vscode/src/vs/editor/contrib/hover/browser/hoverTypes.js +11 -1
- package/vscode/src/vs/editor/contrib/hover/browser/markdownHoverParticipant.js +141 -93
- package/vscode/src/vs/editor/contrib/hover/browser/markerHoverParticipant.js +24 -7
- package/vscode/src/vs/editor/contrib/indentation/browser/indentation.js +36 -1
- package/vscode/src/vs/editor/contrib/inlayHints/browser/inlayHintsHover.js +5 -3
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/ghostTextWidget.js +1 -1
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/hoverParticipant.js +25 -12
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsController.js +88 -118
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsHintsWidget.js +1 -1
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsModel.js +34 -33
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsSource.js +2 -2
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/provideInlineCompletions.js +11 -4
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/suggestWidgetInlineCompletionProvider.js +10 -19
- package/vscode/src/vs/editor/contrib/inlineEdit/browser/ghostTextWidget.js +1 -1
- package/vscode/src/vs/editor/contrib/inlineEdit/browser/hoverParticipant.js +45 -27
- package/vscode/src/vs/editor/contrib/inlineEdit/browser/inlineEditController.js +4 -4
- package/vscode/src/vs/editor/contrib/inlineEdit/browser/inlineEditHintsWidget.js +1 -1
- package/vscode/src/vs/editor/contrib/inlineEdits/browser/commands.js +126 -0
- package/vscode/src/vs/editor/contrib/inlineEdits/browser/consts.js +9 -0
- package/vscode/src/vs/editor/contrib/inlineEdits/browser/inlineEdits.contribution.js +9 -0
- package/vscode/src/vs/editor/contrib/inlineEdits/browser/inlineEditsController.js +82 -0
- package/vscode/src/vs/editor/contrib/inlineEdits/browser/inlineEditsModel.js +240 -0
- package/vscode/src/vs/editor/contrib/inlineEdits/browser/inlineEditsWidget.css.js +4 -0
- package/vscode/src/vs/editor/contrib/inlineEdits/browser/inlineEditsWidget.js +322 -0
- package/vscode/src/vs/editor/contrib/inlineProgress/browser/inlineProgress.js +8 -4
- package/vscode/src/vs/editor/contrib/linesOperations/browser/linesOperations.js +3 -2
- package/vscode/src/vs/editor/contrib/parameterHints/browser/parameterHintsWidget.js +1 -1
- package/vscode/src/vs/editor/contrib/peekView/browser/peekView.js +2 -2
- package/vscode/src/vs/editor/contrib/placeholderText/browser/placeholderText.contribution.js +60 -0
- package/vscode/src/vs/editor/contrib/placeholderText/browser/placeholderText.css.js +4 -0
- package/vscode/src/vs/editor/contrib/rename/browser/renameWidget.js +1 -1
- package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScroll.css.js +1 -1
- package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollController.js +38 -20
- package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollWidget.js +3 -0
- package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidget.js +9 -9
- package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidgetStatus.js +10 -32
- package/vscode/src/vs/editor/contrib/symbolIcons/browser/symbolIcons.js +23 -138
- package/vscode/src/vs/editor/contrib/unicodeHighlighter/browser/unicodeHighlighter.js +3 -0
- package/vscode/src/vs/editor/contrib/wordHighlighter/browser/highlightDecorations.js +5 -5
- package/vscode/src/vs/editor/contrib/wordOperations/browser/wordOperations.js +13 -12
- package/vscode/src/vs/editor/contrib/wordPartOperations/browser/wordPartOperations.js +3 -3
- package/vscode/src/vs/editor/editor.api.d.ts +31 -5
- package/vscode/src/vs/platform/accessibility/browser/accessibilityService.js +21 -0
- package/vscode/src/vs/platform/accessibilitySignal/browser/accessibilitySignalService.js +5 -6
- package/vscode/src/vs/platform/actionWidget/browser/actionWidget.js +1 -1
- package/vscode/src/vs/platform/actions/browser/buttonbar.js +27 -6
- package/vscode/src/vs/platform/actions/browser/floatingMenu.js +1 -1
- package/vscode/src/vs/platform/actions/browser/menuEntryActionViewItem.css.js +1 -1
- package/vscode/src/vs/platform/actions/browser/menuEntryActionViewItem.js +33 -3
- package/vscode/src/vs/platform/actions/browser/toolbar.js +2 -1
- package/vscode/src/vs/platform/actions/common/actions.d.ts +3 -0
- package/vscode/src/vs/platform/actions/common/actions.js +3 -0
- package/vscode/src/vs/platform/actions/common/menuService.js +3 -2
- package/vscode/src/vs/platform/clipboard/browser/clipboardService.js +1 -1
- package/vscode/src/vs/platform/configuration/common/configurationRegistry.d.ts +7 -5
- package/vscode/src/vs/platform/configuration/common/configurationRegistry.js +109 -13
- package/vscode/src/vs/platform/diagnostics/common/diagnostics.d.ts +2 -0
- package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.d.ts +12 -6
- package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.js +2 -0
- package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.service.d.ts +3 -3
- package/vscode/src/vs/platform/extensionManagement/common/extensionsScannerService.js +20 -10
- package/vscode/src/vs/platform/extensions/common/extensionValidator.js +46 -8
- package/vscode/src/vs/platform/extensions/common/extensions.d.ts +1 -1
- package/vscode/src/vs/platform/extensions/common/extensions.js +12 -3
- package/vscode/src/vs/platform/extensions/common/extensionsApiProposals.js +368 -0
- package/vscode/src/vs/platform/files/common/watcher.js +21 -24
- package/vscode/src/vs/platform/list/browser/listService.js +2 -1
- package/vscode/src/vs/platform/observable/common/platformObservableUtils.js +2 -2
- package/vscode/src/vs/platform/opener/browser/link.js +1 -1
- package/vscode/src/vs/platform/product/common/product.js +1 -1
- package/vscode/src/vs/platform/quickinput/browser/quickInputTree.js +1 -1
- package/vscode/src/vs/platform/remote/common/remoteExtensionsScanner.service.d.ts +0 -2
- package/vscode/src/vs/platform/request/common/request.js +18 -8
- package/vscode/src/vs/platform/terminal/common/capabilities/capabilities.d.ts +2 -6
- package/vscode/src/vs/platform/terminal/common/capabilities/commandDetection/promptInputModel.d.ts +8 -1
- package/vscode/src/vs/platform/theme/common/colorUtils.d.ts +1 -1
- package/vscode/src/vs/platform/theme/common/colorUtils.js +25 -5
- package/vscode/src/vs/platform/theme/common/colors/baseColors.js +1 -1
- package/vscode/src/vs/platform/theme/common/colors/chartsColors.js +6 -6
- package/vscode/src/vs/platform/theme/common/colors/editorColors.js +35 -35
- package/vscode/src/vs/platform/theme/common/colors/inputColors.js +9 -9
- package/vscode/src/vs/platform/theme/common/colors/listColors.js +11 -11
- package/vscode/src/vs/platform/theme/common/colors/menuColors.js +4 -4
- package/vscode/src/vs/platform/theme/common/colors/minimapColors.js +5 -5
- package/vscode/src/vs/platform/theme/common/colors/miscColors.js +1 -1
- package/vscode/src/vs/platform/theme/common/colors/quickpickColors.js +5 -5
- package/vscode/src/vs/platform/tunnel/common/tunnel.js +4 -1
- package/vscode/src/vs/platform/userDataProfile/common/userDataProfile.js +75 -19
- package/vscode/src/vs/platform/window/common/window.d.ts +2 -2
- package/vscode/src/vs/workbench/api/common/extHost.api.impl.js +32 -25
- package/vscode/src/vs/workbench/api/common/extHost.common.services.js +2 -0
- package/vscode/src/vs/workbench/api/common/extHost.protocol.js +2 -0
- package/vscode/src/vs/workbench/api/common/extHostAuthentication.js +5 -11
- package/vscode/src/vs/workbench/api/common/extHostChatAgents2.js +5 -15
- package/vscode/src/vs/workbench/api/common/extHostChatVariables.js +2 -5
- package/vscode/src/vs/workbench/api/common/extHostComments.js +9 -3
- package/vscode/src/vs/workbench/api/common/extHostDebugService.js +32 -22
- package/vscode/src/vs/workbench/api/common/extHostExtensionService.js +3 -3
- package/vscode/src/vs/workbench/api/common/extHostLanguageFeatures.js +109 -40
- package/vscode/src/vs/workbench/api/common/extHostLanguageModelTools.js +46 -0
- package/vscode/src/vs/workbench/api/common/extHostLanguageModels.js +84 -35
- package/vscode/src/vs/workbench/api/common/extHostNotebook.js +2 -2
- package/vscode/src/vs/workbench/api/common/extHostSCM.js +50 -41
- package/vscode/src/vs/workbench/api/common/extHostSearch.js +2 -2
- package/vscode/src/vs/workbench/api/common/extHostSecrets.js +11 -8
- package/vscode/src/vs/workbench/api/common/extHostTerminalService.js +7 -6
- package/vscode/src/vs/workbench/api/common/extHostTesting.js +63 -70
- package/vscode/src/vs/workbench/api/common/extHostTextEditors.js +5 -3
- package/vscode/src/vs/workbench/api/common/extHostTypeConverters.js +75 -16
- package/vscode/src/vs/workbench/api/common/extHostTypes.js +29 -4
- package/vscode/src/vs/workbench/api/common/extHostWorkspace.js +1 -1
- package/vscode/src/vs/workbench/browser/actions/developerActions.js +1 -1
- package/vscode/src/vs/workbench/browser/parts/editor/editorActions.js +127 -107
- package/vscode/src/vs/workbench/browser/parts/editor/editorCommands.js +2 -2
- package/vscode/src/vs/workbench/browser/parts/editor/editorPanes.js +1 -1
- package/vscode/src/vs/workbench/browser/parts/editor/editorStatus.js +33 -21
- package/vscode/src/vs/workbench/browser/parts/editor/sideBySideEditor.js +1 -1
- package/vscode/src/vs/workbench/browser/parts/globalCompositeBar.js +5 -5
- package/vscode/src/vs/workbench/browser/parts/notifications/notificationsToasts.js +1 -1
- package/vscode/src/vs/workbench/browser/parts/notifications/notificationsViewer.js +2 -2
- package/vscode/src/vs/workbench/browser/parts/views/checkbox.js +2 -2
- package/vscode/src/vs/workbench/browser/parts/views/treeView.js +23 -6
- package/vscode/src/vs/workbench/browser/parts/views/viewFilter.js +3 -1
- package/vscode/src/vs/workbench/browser/parts/views/viewPane.js +3 -3
- package/vscode/src/vs/workbench/browser/parts/views/viewPaneContainer.js +1 -1
- package/vscode/src/vs/workbench/browser/web.api.js +8 -0
- package/vscode/src/vs/workbench/browser/workbench.contribution.js +199 -194
- package/vscode/src/vs/workbench/common/configuration.js +1 -1
- package/vscode/src/vs/workbench/common/contributions.js +8 -1
- package/vscode/src/vs/workbench/common/editor.js +5 -1
- package/vscode/src/vs/workbench/common/theme.js +79 -454
- package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibilityConfiguration.js +221 -239
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatActions.js +17 -15
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatExecuteActions.js +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatAgentHover.js +4 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatCollections.js +27 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatCommandContentPart.js +35 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatConfirmationContentPart.js +51 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/{chatConfirmationWidget.js → chatContentParts/chatConfirmationWidget.js} +9 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatMarkdownContentPart.js +131 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatProgressContentPart.js +37 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatReferencesContentPart.js +263 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatTaskContentPart.js +37 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatTextEditContentPart.js +160 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatTreeContentPart.js +171 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatWarningContentPart.js +34 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/{media → chatContentParts/media}/chatConfirmationWidget.css.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatInputPart.js +91 -44
- package/vscode/src/vs/workbench/contrib/chat/browser/chatListRenderer.js +292 -1019
- package/vscode/src/vs/workbench/contrib/chat/browser/chatMarkdownDecorationsRenderer.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatMarkdownRenderer.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatWidget.js +22 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/codeBlockPart.css.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/codeBlockPart.js +61 -54
- package/vscode/src/vs/workbench/contrib/chat/browser/contrib/chatDynamicVariables.js +23 -16
- package/vscode/src/vs/workbench/contrib/chat/browser/media/chat.css.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/media/chatAgentHover.css.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/chatAgents.js +8 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatColors.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/chatModel.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/common/chatWordCounter.js +5 -4
- package/vscode/src/vs/workbench/contrib/chat/common/codeBlockModelCollection.js +16 -0
- package/vscode/src/vs/workbench/contrib/chat/common/languageModelToolsService.service.js +3 -0
- package/vscode/src/vs/workbench/contrib/chat/common/languageModels.js +2 -2
- package/vscode/src/vs/workbench/contrib/codeActions/browser/codeActionsContribution.js +43 -16
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/diffEditorHelper.js +1 -1
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/find/simpleFindWidget.js +1 -3
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/suggestEnabledInput/suggestEnabledInput.js +1 -1
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleMultiCursorModifier.js +7 -5
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleWordWrap.js +7 -7
- package/vscode/src/vs/workbench/contrib/comments/browser/commentColors.js +3 -3
- package/vscode/src/vs/workbench/contrib/comments/browser/commentGlyphWidget.js +3 -3
- package/vscode/src/vs/workbench/contrib/comments/browser/commentReply.js +2 -2
- package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadBody.js +1 -1
- package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadHeader.js +2 -1
- package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadWidget.js +2 -1
- package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadZoneWidget.js +1 -1
- package/vscode/src/vs/workbench/contrib/comments/browser/commentsController.js +8 -5
- package/vscode/src/vs/workbench/contrib/comments/browser/commentsTreeViewer.js +1 -1
- package/vscode/src/vs/workbench/contrib/comments/browser/media/panel.css.js +1 -1
- package/vscode/src/vs/workbench/contrib/comments/browser/media/review.css.js +1 -1
- package/vscode/src/vs/workbench/contrib/comments/browser/timestamp.js +1 -1
- package/vscode/src/vs/workbench/contrib/contextmenu/browser/contextmenu.contribution.js +5 -5
- package/vscode/src/vs/workbench/contrib/debug/browser/baseDebugView.js +14 -7
- package/vscode/src/vs/workbench/contrib/debug/browser/breakpointEditorContribution.js +4 -4
- package/vscode/src/vs/workbench/contrib/debug/browser/breakpointWidget.js +8 -7
- package/vscode/src/vs/workbench/contrib/debug/browser/breakpointsView.js +19 -16
- package/vscode/src/vs/workbench/contrib/debug/browser/debugColors.js +13 -12
- package/vscode/src/vs/workbench/contrib/debug/common/debug.d.ts +19 -2
- package/vscode/src/vs/workbench/contrib/debug/common/debug.js +9 -4
- package/vscode/src/vs/workbench/contrib/debug/common/debugModel.js +10 -5
- package/vscode/src/vs/workbench/contrib/debug/common/replModel.js +4 -4
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsActions.js +235 -173
- package/vscode/src/vs/workbench/contrib/extensions/browser/media/extensionActions.css.js +1 -1
- package/vscode/src/vs/workbench/contrib/extensions/common/extensions.js +2 -1
- package/vscode/src/vs/workbench/contrib/files/browser/fileActions.js +17 -5
- package/vscode/src/vs/workbench/contrib/files/browser/files.contribution._configuration.js +62 -44
- package/vscode/src/vs/workbench/contrib/files/browser/files.contribution._editorPane.js +2 -2
- package/vscode/src/vs/workbench/contrib/files/browser/views/openEditorsView.js +2 -2
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +114 -107
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatContentWidget.js +33 -25
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatController.js +71 -101
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSession.js +38 -43
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.js +11 -33
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatStrategies.js +3 -4
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatWidget.js +49 -86
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatZoneWidget.js +60 -71
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/media/inlineChat.css.js +1 -1
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/media/inlineChatContentWidget.css.js +1 -1
- package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.js +116 -113
- package/vscode/src/vs/workbench/contrib/markdown/browser/markdownDocumentRenderer.js +6 -10
- package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeEditorInputModel.js +2 -2
- package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/multiDiffEditorInput.js +1 -0
- package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/scmMultiDiffSourceResolver.js +2 -2
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/findFilters.js +12 -23
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/findMatchDecorationModel.js +0 -2
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/findModel.js +7 -9
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindReplaceWidget.js +88 -61
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindWidget.js +1 -3
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/cellOutputActions.js +39 -3
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatContext.js +2 -1
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatController.js +12 -11
- package/vscode/src/vs/workbench/contrib/notebook/browser/media/notebookCellChat.css.js +1 -1
- package/vscode/src/vs/workbench/contrib/notebook/browser/notebookAccessibilityProvider.js +1 -1
- package/vscode/src/vs/workbench/contrib/notebook/browser/notebookBrowser.js +3 -2
- package/vscode/src/vs/workbench/contrib/notebook/browser/notebookEditorWidget.js +40 -105
- package/vscode/src/vs/workbench/contrib/notebook/browser/notebookIcons.js +27 -26
- package/vscode/src/vs/workbench/contrib/notebook/browser/notebookOptions.js +14 -5
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellActionView.js +1 -1
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellComments.js +43 -46
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellDnd.js +1 -1
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellOutput.js +4 -4
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellStatusPart.js +12 -9
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellToolbars.js +19 -14
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/codeCell.js +2 -2
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/codeCellRunToolbar.js +9 -6
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/markupCell.js +1 -1
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/backLayerWebView.js +5 -3
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/cellRenderer.js +3 -3
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/webviewPreloads.js +1 -1
- package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/baseCellViewModel.js +16 -6
- package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/codeCellViewModel.js +8 -8
- package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/notebookOutlineDataSourceFactory.service.js +3 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/notebookViewModelImpl.js +11 -12
- package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookEditorStickyScroll.js +12 -13
- package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookEditorToolbar.js +1 -1
- package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookTopCellToolbar.js +5 -3
- package/vscode/src/vs/workbench/contrib/notebook/common/notebookCommon.js +9 -2
- package/vscode/src/vs/workbench/contrib/notebook/common/notebookEditorInput.js +37 -36
- package/vscode/src/vs/workbench/contrib/notebook/common/notebookEditorModel.js +18 -8
- package/vscode/src/vs/workbench/contrib/preferences/browser/preferencesWidgets.js +1 -1
- package/vscode/src/vs/workbench/contrib/preferences/browser/settingsTreeModels.js +14 -5
- package/vscode/src/vs/workbench/contrib/preferences/common/settingsEditorColorRegistry.js +17 -22
- package/vscode/src/vs/workbench/contrib/remote/browser/media/tunnelView.css.js +1 -1
- package/vscode/src/vs/workbench/contrib/remote/browser/tunnelView.js +7 -10
- package/vscode/src/vs/workbench/contrib/scm/browser/dirtydiffDecorator.js +7 -27
- package/vscode/src/vs/workbench/contrib/search/browser/anythingQuickAccess.js +3 -4
- package/vscode/src/vs/workbench/contrib/search/browser/notebookSearch/notebookSearchService.js +2 -2
- package/vscode/src/vs/workbench/contrib/search/browser/searchActionsFind.js +4 -0
- package/vscode/src/vs/workbench/contrib/search/browser/searchModel.js +3 -3
- package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/xtermTerminal.d.ts +3 -0
- package/vscode/src/vs/workbench/contrib/terminal/common/terminal.d.ts +0 -1
- package/vscode/src/vs/workbench/contrib/terminal/common/terminalColorRegistry.js +13 -37
- package/vscode/src/vs/workbench/contrib/testing/common/testCoverage.d.ts +88 -0
- package/vscode/src/vs/workbench/contrib/testing/common/testCoverage.js +48 -31
- package/vscode/src/vs/workbench/contrib/testing/common/testId.d.ts +115 -0
- package/vscode/src/vs/workbench/contrib/testing/common/testResult.d.ts +226 -0
- package/vscode/src/vs/workbench/contrib/testing/common/testTypes.d.ts +319 -0
- package/vscode/src/vs/workbench/contrib/testing/common/testTypes.js +2 -3
- package/vscode/src/vs/workbench/contrib/testing/common/testingStates.d.ts +10 -0
- package/vscode/src/vs/workbench/contrib/webview/browser/webviewWindowDragMonitor.js +21 -2
- package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewIconManager.js +7 -8
- package/vscode/src/vs/workbench/services/authentication/browser/authenticationService.js +3 -3
- package/vscode/src/vs/workbench/services/authentication/common/authentication.d.ts +10 -5
- package/vscode/src/vs/workbench/services/editor/common/customEditorLabelService.js +54 -21
- package/vscode/src/vs/workbench/services/extensionManagement/common/extensionManagement.service.d.ts +1 -0
- package/vscode/src/vs/workbench/services/extensions/browser/extensionService.d.ts +1 -2
- package/vscode/src/vs/workbench/services/extensions/common/abstractExtensionService.d.ts +2 -4
- package/vscode/src/vs/workbench/services/extensions/common/extensions.js +5 -3
- package/vscode/src/vs/workbench/services/extensions/common/extensions.service.d.ts +3 -1
- package/vscode/src/vs/workbench/services/extensions/common/extensionsRegistry.js +59 -41
- package/vscode/src/vs/workbench/services/extensions/common/rpcProtocol.js +1 -1
- package/vscode/src/vs/workbench/services/filesConfiguration/common/filesConfigurationService.js +3 -2
- package/vscode/src/vs/workbench/services/host/browser/host.service.d.ts +1 -0
- package/vscode/src/vs/workbench/services/language/common/languageService.js +7 -0
- package/vscode/src/vs/workbench/services/layout/browser/layoutService.js +1 -1
- package/vscode/src/vs/workbench/services/preferences/common/preferences.d.ts +2 -2
- package/vscode/src/vs/workbench/services/search/common/search.js +2 -1
- package/vscode/src/vs/workbench/services/search/common/textSearchManager.js +2 -2
- package/vscode/src/vs/workbench/services/statusbar/browser/statusbar.d.ts +2 -2
- package/vscode/src/vs/workbench/services/textfile/common/encoding.js +69 -26
- package/vscode/src/vs/workbench/services/textfile/common/textFileEditorModel.js +23 -4
- package/vscode/src/vs/workbench/services/textfile/common/textfiles.d.ts +5 -1
- package/vscode/src/vs/workbench/services/userDataProfile/common/userDataProfileIcons.js +1 -1
- package/vscode/src/vs/workbench/services/views/browser/viewsService.js +12 -5
- package/vscode/src/vs/workbench/services/workingCopy/common/storedFileWorkingCopy.js +38 -19
- package/vscode/src/vs/workbench/services/workingCopy/common/workingCopyFileService.service.d.ts +2 -1
- package/vscode-dts/vscode.proposed.aiTextSearchProvider.d.ts +0 -196
- package/vscode-dts/vscode.proposed.attributableCoverage.d.ts +28 -10
- package/vscode-dts/vscode.proposed.authGetSessions.d.ts +30 -22
- package/vscode-dts/vscode.proposed.chatProvider.d.ts +17 -8
- package/vscode-dts/vscode.proposed.chatVariableResolver.d.ts +0 -9
- package/vscode-dts/vscode.proposed.commentReveal.d.ts +32 -0
- package/vscode-dts/vscode.proposed.commentThreadApplicability.d.ts +10 -0
- package/vscode-dts/vscode.proposed.createFileSystemWatcher.d.ts +1 -1
- package/vscode-dts/vscode.proposed.fileComments.d.ts +12 -53
- package/vscode-dts/vscode.proposed.fileSearchProvider.d.ts +6 -0
- package/vscode-dts/vscode.proposed.inlineCompletionsAdditions.d.ts +6 -0
- package/vscode-dts/vscode.proposed.lmTools.d.ts +91 -0
- package/vscode-dts/vscode.proposed.mappedEditsProvider.d.ts +1 -1
- package/vscode-dts/vscode.proposed.scmHistoryProvider.d.ts +10 -6
- package/vscode-dts/vscode.proposed.terminalShellIntegration.d.ts +38 -13
- package/vscode/src/vs/editor/browser/observableUtilities.js +0 -58
- package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/notebookOutlineProviderFactory.service.js +0 -3
- package/vscode/src/vs/workbench/services/extensions/common/extensionsApiProposals.js +0 -122
|
@@ -17,6 +17,7 @@ import { Registry } from '../../../../platform/registry/common/platform.js';
|
|
|
17
17
|
import { SyncDescriptor } from '../../../../platform/instantiation/common/descriptors.js';
|
|
18
18
|
import { index } from '../../../../base/common/arrays.js';
|
|
19
19
|
import { MarkdownString } from '../../../../base/common/htmlContent.js';
|
|
20
|
+
import { isString } from '../../../../base/common/types.js';
|
|
20
21
|
const _moduleId = "vs/workbench/services/language/common/languageService";
|
|
21
22
|
const languagesExtPoint = ExtensionsRegistry.registerExtensionPoint({
|
|
22
23
|
extensionPoint: 'languages',
|
|
@@ -139,6 +140,9 @@ class LanguageTableRenderer extends Disposable {
|
|
|
139
140
|
const byId = index(languages, l => l.id);
|
|
140
141
|
const grammars = contributes?.grammars || [];
|
|
141
142
|
grammars.forEach(grammar => {
|
|
143
|
+
if (!isString(grammar.language)) {
|
|
144
|
+
return;
|
|
145
|
+
}
|
|
142
146
|
let language = byId[grammar.language];
|
|
143
147
|
if (language) {
|
|
144
148
|
language.hasGrammar = true;
|
|
@@ -151,6 +155,9 @@ class LanguageTableRenderer extends Disposable {
|
|
|
151
155
|
});
|
|
152
156
|
const snippets = contributes?.snippets || [];
|
|
153
157
|
snippets.forEach(snippet => {
|
|
158
|
+
if (!isString(snippet.language)) {
|
|
159
|
+
return;
|
|
160
|
+
}
|
|
154
161
|
let language = byId[snippet.language];
|
|
155
162
|
if (language) {
|
|
156
163
|
language.hasSnippets = true;
|
|
@@ -97,7 +97,7 @@ function panelOpensMaximizedFromString(str) {
|
|
|
97
97
|
}
|
|
98
98
|
function shouldShowCustomTitleBar(configurationService, window, menuBarToggled, zenModeActive) {
|
|
99
99
|
if (zenModeActive) {
|
|
100
|
-
return
|
|
100
|
+
return !configurationService.getValue(ZenModeSettings.FULLSCREEN);
|
|
101
101
|
}
|
|
102
102
|
const inFullscreen = isFullscreen(window);
|
|
103
103
|
const nativeTitleBarEnabled = hasNativeTitlebar(configurationService);
|
|
@@ -4,7 +4,7 @@ import { IJSONSchemaMap, IJSONSchema } from '../../../../base/common/jsonSchema.
|
|
|
4
4
|
import { URI } from '../../../../base/common/uri.js';
|
|
5
5
|
import { IRange } from '../../../../editor/common/core/range.js';
|
|
6
6
|
import '../../../../editor/editor.api.js';
|
|
7
|
-
import { ConfigurationScope, IExtensionInfo, EditPresentationTypes } from '../../../../platform/configuration/common/configurationRegistry.js';
|
|
7
|
+
import { ConfigurationScope, IExtensionInfo, EditPresentationTypes, ConfigurationDefaultValueSource } from '../../../../platform/configuration/common/configurationRegistry.js';
|
|
8
8
|
import { ConfigurationTarget } from '../../../../platform/configuration/common/configuration.js';
|
|
9
9
|
import { IEditorOptions } from '../../../../platform/editor/common/editor.js';
|
|
10
10
|
|
|
@@ -54,7 +54,7 @@ interface ISetting {
|
|
|
54
54
|
enumItemLabels?: string[];
|
|
55
55
|
allKeysAreBoolean?: boolean;
|
|
56
56
|
editPresentation?: EditPresentationTypes;
|
|
57
|
-
nonLanguageSpecificDefaultValueSource?:
|
|
57
|
+
nonLanguageSpecificDefaultValueSource?: ConfigurationDefaultValueSource;
|
|
58
58
|
isLanguageTagSetting?: boolean;
|
|
59
59
|
categoryLabel?: string;
|
|
60
60
|
displayExtensionId?: string;
|
|
@@ -11,6 +11,7 @@ const VIEWLET_ID = 'workbench.view.search';
|
|
|
11
11
|
const VIEW_ID = 'workbench.view.search';
|
|
12
12
|
const SEARCH_RESULT_LANGUAGE_ID = 'search-result';
|
|
13
13
|
const SEARCH_EXCLUDE_CONFIG = 'search.exclude';
|
|
14
|
+
const DEFAULT_MAX_SEARCH_RESULTS = 20000;
|
|
14
15
|
const SEARCH_ELIDED_PREFIX = '⟪ ';
|
|
15
16
|
const SEARCH_ELIDED_SUFFIX = ' characters skipped ⟫';
|
|
16
17
|
const SEARCH_ELIDED_MIN_LEN = (SEARCH_ELIDED_PREFIX.length + SEARCH_ELIDED_SUFFIX.length + 5) * 2;
|
|
@@ -303,4 +304,4 @@ function listToMap(list) {
|
|
|
303
304
|
}
|
|
304
305
|
return map;
|
|
305
306
|
}
|
|
306
|
-
export { FileMatch, OneLineRange, QueryGlobTester, QueryType, SEARCH_EXCLUDE_CONFIG, SEARCH_RESULT_LANGUAGE_ID, SearchCompletionExitCode, SearchError, SearchErrorCode, SearchProviderType, SearchRange, SearchSortOrder, TextSearchMatch, VIEWLET_ID, VIEW_ID, ViewMode, deserializeSearchError, getExcludes, hasSiblingFn, hasSiblingPromiseFn, isFileMatch, isProgressMessage, pathIncludedInQuery, resolvePatternsForProvider, resultIsMatch };
|
|
307
|
+
export { DEFAULT_MAX_SEARCH_RESULTS, FileMatch, OneLineRange, QueryGlobTester, QueryType, SEARCH_EXCLUDE_CONFIG, SEARCH_RESULT_LANGUAGE_ID, SearchCompletionExitCode, SearchError, SearchErrorCode, SearchProviderType, SearchRange, SearchSortOrder, TextSearchMatch, VIEWLET_ID, VIEW_ID, ViewMode, deserializeSearchError, getExcludes, hasSiblingFn, hasSiblingPromiseFn, isFileMatch, isProgressMessage, pathIncludedInQuery, resolvePatternsForProvider, resultIsMatch };
|
|
@@ -6,7 +6,7 @@ import { Schemas } from '../../../../base/common/network.js';
|
|
|
6
6
|
import { basename } from '../../../../base/common/path.js';
|
|
7
7
|
import { isEqual, relativePath, dirname } from '../../../../base/common/resources.js';
|
|
8
8
|
import { URI } from '../../../../base/common/uri.js';
|
|
9
|
-
import { QueryType, resolvePatternsForProvider, QueryGlobTester, hasSiblingPromiseFn } from './search.js';
|
|
9
|
+
import { QueryType, resolvePatternsForProvider, DEFAULT_MAX_SEARCH_RESULTS, QueryGlobTester, hasSiblingPromiseFn } from './search.js';
|
|
10
10
|
class TextSearchManager {
|
|
11
11
|
constructor(queryProviderPair, fileUtils, processType) {
|
|
12
12
|
this.queryProviderPair = queryProviderPair;
|
|
@@ -172,7 +172,7 @@ class TextSearchManager {
|
|
|
172
172
|
followSymlinks: !fq.ignoreSymlinks,
|
|
173
173
|
encoding: fq.fileEncoding && this.fileUtils.toCanonicalName(fq.fileEncoding),
|
|
174
174
|
maxFileSize: this.query.maxFileSize,
|
|
175
|
-
maxResults: this.query.maxResults ??
|
|
175
|
+
maxResults: this.query.maxResults ?? DEFAULT_MAX_SEARCH_RESULTS,
|
|
176
176
|
previewOptions: this.query.previewOptions,
|
|
177
177
|
afterContext: this.query.afterContext,
|
|
178
178
|
beforeContext: this.query.beforeContext
|
|
@@ -107,9 +107,9 @@ interface IStatusbarEntry {
|
|
|
107
107
|
readonly showBeak?: boolean;
|
|
108
108
|
/**
|
|
109
109
|
* Will enable a spinning icon in front of the text to indicate progress. When `true` is
|
|
110
|
-
* specified, `
|
|
110
|
+
* specified, `loading` will be used.
|
|
111
111
|
*/
|
|
112
|
-
readonly showProgress?: boolean | '
|
|
112
|
+
readonly showProgress?: boolean | 'loading' | 'syncing';
|
|
113
113
|
/**
|
|
114
114
|
* The kind of status bar entry. This applies different colors to the entry.
|
|
115
115
|
*/
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { listenStream, newWriteableStream } from '../../../../base/common/stream.js';
|
|
2
2
|
import { VSBuffer } from '../../../../base/common/buffer.js';
|
|
3
3
|
import { CancellationTokenSource } from '../../../../base/common/cancellation.js';
|
|
4
|
+
import { coalesce } from '../../../../base/common/arrays.js';
|
|
4
5
|
const UTF8 = 'utf8';
|
|
5
6
|
const UTF8_with_bom = 'utf8bom';
|
|
6
7
|
const UTF16be = 'utf16be';
|
|
@@ -67,7 +68,7 @@ function toDecodeStream(source, options) {
|
|
|
67
68
|
const detected = await detectEncodingFromBuffer({
|
|
68
69
|
buffer: VSBuffer.concat(bufferedChunks),
|
|
69
70
|
bytesRead: bytesBuffered
|
|
70
|
-
}, options.guessEncoding);
|
|
71
|
+
}, options.guessEncoding, options.candidateGuessEncodings);
|
|
71
72
|
if (detected.seemsBinary && options.acceptTextOnly) {
|
|
72
73
|
throw ( new DecodeStreamError(
|
|
73
74
|
'Stream is binary but only text is accepted for decoding',
|
|
@@ -184,11 +185,17 @@ function detectEncodingByBOMFromBuffer(buffer, bytesRead) {
|
|
|
184
185
|
return null;
|
|
185
186
|
}
|
|
186
187
|
const IGNORE_ENCODINGS = ['ascii', 'utf-16', 'utf-32'];
|
|
187
|
-
async function guessEncodingByBuffer(buffer) {
|
|
188
|
+
async function guessEncodingByBuffer(buffer, candidateGuessEncodings) {
|
|
188
189
|
const jschardet = await import('jschardet').then(module => module.default ?? module);
|
|
189
190
|
const limitedBuffer = buffer.slice(0, AUTO_ENCODING_GUESS_MAX_BYTES);
|
|
190
191
|
const binaryString = encodeLatin1(limitedBuffer.buffer);
|
|
191
|
-
|
|
192
|
+
if (candidateGuessEncodings) {
|
|
193
|
+
candidateGuessEncodings = coalesce(( candidateGuessEncodings.map(e => toJschardetEncoding(e))));
|
|
194
|
+
if (candidateGuessEncodings.length === 0) {
|
|
195
|
+
candidateGuessEncodings = undefined;
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
const guessed = jschardet.detect(binaryString, candidateGuessEncodings ? { detectEncodings: candidateGuessEncodings } : undefined);
|
|
192
199
|
if (!guessed || !guessed.encoding) {
|
|
193
200
|
return null;
|
|
194
201
|
}
|
|
@@ -202,11 +209,19 @@ const JSCHARDET_TO_ICONV_ENCODINGS = {
|
|
|
202
209
|
'ibm866': 'cp866',
|
|
203
210
|
'big5': 'cp950'
|
|
204
211
|
};
|
|
212
|
+
function normalizeEncoding(encodingName) {
|
|
213
|
+
return encodingName.replace(/[^a-zA-Z0-9]/g, '').toLowerCase();
|
|
214
|
+
}
|
|
205
215
|
function toIconvLiteEncoding(encodingName) {
|
|
206
|
-
const normalizedEncodingName = encodingName
|
|
216
|
+
const normalizedEncodingName = normalizeEncoding(encodingName);
|
|
207
217
|
const mapped = JSCHARDET_TO_ICONV_ENCODINGS[normalizedEncodingName];
|
|
208
218
|
return mapped || normalizedEncodingName;
|
|
209
219
|
}
|
|
220
|
+
function toJschardetEncoding(encodingName) {
|
|
221
|
+
const normalizedEncodingName = normalizeEncoding(encodingName);
|
|
222
|
+
const mapped = GUESSABLE_ENCODINGS[normalizedEncodingName];
|
|
223
|
+
return mapped.guessableName;
|
|
224
|
+
}
|
|
210
225
|
function encodeLatin1(buffer) {
|
|
211
226
|
let result = '';
|
|
212
227
|
for (let i = 0; i < buffer.length; i++) {
|
|
@@ -214,7 +229,7 @@ function encodeLatin1(buffer) {
|
|
|
214
229
|
}
|
|
215
230
|
return result;
|
|
216
231
|
}
|
|
217
|
-
function detectEncodingFromBuffer({ buffer, bytesRead }, autoGuessEncoding) {
|
|
232
|
+
function detectEncodingFromBuffer({ buffer, bytesRead }, autoGuessEncoding, candidateGuessEncodings) {
|
|
218
233
|
let encoding = detectEncodingByBOMFromBuffer(buffer, bytesRead);
|
|
219
234
|
let seemsBinary = false;
|
|
220
235
|
if (encoding !== UTF16be && encoding !== UTF16le && buffer) {
|
|
@@ -250,7 +265,7 @@ function detectEncodingFromBuffer({ buffer, bytesRead }, autoGuessEncoding) {
|
|
|
250
265
|
}
|
|
251
266
|
}
|
|
252
267
|
if (autoGuessEncoding && !seemsBinary && !encoding && buffer) {
|
|
253
|
-
return guessEncodingByBuffer(buffer.slice(0, bytesRead)).then(guessedEncoding => {
|
|
268
|
+
return guessEncodingByBuffer(buffer.slice(0, bytesRead), candidateGuessEncodings).then(guessedEncoding => {
|
|
254
269
|
return {
|
|
255
270
|
seemsBinary: false,
|
|
256
271
|
encoding: guessedEncoding
|
|
@@ -264,7 +279,8 @@ const SUPPORTED_ENCODINGS = {
|
|
|
264
279
|
labelLong: 'UTF-8',
|
|
265
280
|
labelShort: 'UTF-8',
|
|
266
281
|
order: 1,
|
|
267
|
-
alias: 'utf8bom'
|
|
282
|
+
alias: 'utf8bom',
|
|
283
|
+
guessableName: 'UTF-8'
|
|
268
284
|
},
|
|
269
285
|
utf8bom: {
|
|
270
286
|
labelLong: 'UTF-8 with BOM',
|
|
@@ -276,17 +292,20 @@ const SUPPORTED_ENCODINGS = {
|
|
|
276
292
|
utf16le: {
|
|
277
293
|
labelLong: 'UTF-16 LE',
|
|
278
294
|
labelShort: 'UTF-16 LE',
|
|
279
|
-
order: 3
|
|
295
|
+
order: 3,
|
|
296
|
+
guessableName: 'UTF-16LE'
|
|
280
297
|
},
|
|
281
298
|
utf16be: {
|
|
282
299
|
labelLong: 'UTF-16 BE',
|
|
283
300
|
labelShort: 'UTF-16 BE',
|
|
284
|
-
order: 4
|
|
301
|
+
order: 4,
|
|
302
|
+
guessableName: 'UTF-16BE'
|
|
285
303
|
},
|
|
286
304
|
windows1252: {
|
|
287
305
|
labelLong: 'Western (Windows 1252)',
|
|
288
306
|
labelShort: 'Windows 1252',
|
|
289
|
-
order: 5
|
|
307
|
+
order: 5,
|
|
308
|
+
guessableName: 'windows-1252'
|
|
290
309
|
},
|
|
291
310
|
iso88591: {
|
|
292
311
|
labelLong: 'Western (ISO 8859-1)',
|
|
@@ -341,12 +360,14 @@ const SUPPORTED_ENCODINGS = {
|
|
|
341
360
|
windows1250: {
|
|
342
361
|
labelLong: 'Central European (Windows 1250)',
|
|
343
362
|
labelShort: 'Windows 1250',
|
|
344
|
-
order: 16
|
|
363
|
+
order: 16,
|
|
364
|
+
guessableName: 'windows-1250'
|
|
345
365
|
},
|
|
346
366
|
iso88592: {
|
|
347
367
|
labelLong: 'Central European (ISO 8859-2)',
|
|
348
368
|
labelShort: 'ISO 8859-2',
|
|
349
|
-
order: 17
|
|
369
|
+
order: 17,
|
|
370
|
+
guessableName: 'ISO-8859-2'
|
|
350
371
|
},
|
|
351
372
|
cp852: {
|
|
352
373
|
labelLong: 'Central European (CP 852)',
|
|
@@ -356,22 +377,26 @@ const SUPPORTED_ENCODINGS = {
|
|
|
356
377
|
windows1251: {
|
|
357
378
|
labelLong: 'Cyrillic (Windows 1251)',
|
|
358
379
|
labelShort: 'Windows 1251',
|
|
359
|
-
order: 19
|
|
380
|
+
order: 19,
|
|
381
|
+
guessableName: 'windows-1251'
|
|
360
382
|
},
|
|
361
383
|
cp866: {
|
|
362
384
|
labelLong: 'Cyrillic (CP 866)',
|
|
363
385
|
labelShort: 'CP 866',
|
|
364
|
-
order: 20
|
|
386
|
+
order: 20,
|
|
387
|
+
guessableName: 'IBM866'
|
|
365
388
|
},
|
|
366
389
|
iso88595: {
|
|
367
390
|
labelLong: 'Cyrillic (ISO 8859-5)',
|
|
368
391
|
labelShort: 'ISO 8859-5',
|
|
369
|
-
order: 21
|
|
392
|
+
order: 21,
|
|
393
|
+
guessableName: 'ISO-8859-5'
|
|
370
394
|
},
|
|
371
395
|
koi8r: {
|
|
372
396
|
labelLong: 'Cyrillic (KOI8-R)',
|
|
373
397
|
labelShort: 'KOI8-R',
|
|
374
|
-
order: 22
|
|
398
|
+
order: 22,
|
|
399
|
+
guessableName: 'KOI8-R'
|
|
375
400
|
},
|
|
376
401
|
koi8u: {
|
|
377
402
|
labelLong: 'Cyrillic (KOI8-U)',
|
|
@@ -386,22 +411,26 @@ const SUPPORTED_ENCODINGS = {
|
|
|
386
411
|
windows1253: {
|
|
387
412
|
labelLong: 'Greek (Windows 1253)',
|
|
388
413
|
labelShort: 'Windows 1253',
|
|
389
|
-
order: 25
|
|
414
|
+
order: 25,
|
|
415
|
+
guessableName: 'windows-1253'
|
|
390
416
|
},
|
|
391
417
|
iso88597: {
|
|
392
418
|
labelLong: 'Greek (ISO 8859-7)',
|
|
393
419
|
labelShort: 'ISO 8859-7',
|
|
394
|
-
order: 26
|
|
420
|
+
order: 26,
|
|
421
|
+
guessableName: 'ISO-8859-7'
|
|
395
422
|
},
|
|
396
423
|
windows1255: {
|
|
397
424
|
labelLong: 'Hebrew (Windows 1255)',
|
|
398
425
|
labelShort: 'Windows 1255',
|
|
399
|
-
order: 27
|
|
426
|
+
order: 27,
|
|
427
|
+
guessableName: 'windows-1255'
|
|
400
428
|
},
|
|
401
429
|
iso88598: {
|
|
402
430
|
labelLong: 'Hebrew (ISO 8859-8)',
|
|
403
431
|
labelShort: 'ISO 8859-8',
|
|
404
|
-
order: 28
|
|
432
|
+
order: 28,
|
|
433
|
+
guessableName: 'ISO-8859-8'
|
|
405
434
|
},
|
|
406
435
|
iso885910: {
|
|
407
436
|
labelLong: 'Nordic (ISO 8859-10)',
|
|
@@ -441,7 +470,8 @@ const SUPPORTED_ENCODINGS = {
|
|
|
441
470
|
cp950: {
|
|
442
471
|
labelLong: 'Traditional Chinese (Big5)',
|
|
443
472
|
labelShort: 'Big5',
|
|
444
|
-
order: 36
|
|
473
|
+
order: 36,
|
|
474
|
+
guessableName: 'Big5'
|
|
445
475
|
},
|
|
446
476
|
big5hkscs: {
|
|
447
477
|
labelLong: 'Traditional Chinese (Big5-HKSCS)',
|
|
@@ -451,17 +481,20 @@ const SUPPORTED_ENCODINGS = {
|
|
|
451
481
|
shiftjis: {
|
|
452
482
|
labelLong: 'Japanese (Shift JIS)',
|
|
453
483
|
labelShort: 'Shift JIS',
|
|
454
|
-
order: 38
|
|
484
|
+
order: 38,
|
|
485
|
+
guessableName: 'SHIFT_JIS'
|
|
455
486
|
},
|
|
456
487
|
eucjp: {
|
|
457
488
|
labelLong: 'Japanese (EUC-JP)',
|
|
458
489
|
labelShort: 'EUC-JP',
|
|
459
|
-
order: 39
|
|
490
|
+
order: 39,
|
|
491
|
+
guessableName: 'EUC-JP'
|
|
460
492
|
},
|
|
461
493
|
euckr: {
|
|
462
494
|
labelLong: 'Korean (EUC-KR)',
|
|
463
495
|
labelShort: 'EUC-KR',
|
|
464
|
-
order: 40
|
|
496
|
+
order: 40,
|
|
497
|
+
guessableName: 'EUC-KR'
|
|
465
498
|
},
|
|
466
499
|
windows874: {
|
|
467
500
|
labelLong: 'Thai (Windows 874)',
|
|
@@ -486,7 +519,8 @@ const SUPPORTED_ENCODINGS = {
|
|
|
486
519
|
gb2312: {
|
|
487
520
|
labelLong: 'Simplified Chinese (GB 2312)',
|
|
488
521
|
labelShort: 'GB 2312',
|
|
489
|
-
order: 45
|
|
522
|
+
order: 45,
|
|
523
|
+
guessableName: 'GB2312'
|
|
490
524
|
},
|
|
491
525
|
cp865: {
|
|
492
526
|
labelLong: 'Nordic DOS (CP 865)',
|
|
@@ -499,4 +533,13 @@ const SUPPORTED_ENCODINGS = {
|
|
|
499
533
|
order: 47
|
|
500
534
|
}
|
|
501
535
|
};
|
|
502
|
-
|
|
536
|
+
const GUESSABLE_ENCODINGS = (() => {
|
|
537
|
+
const guessableEncodings = {};
|
|
538
|
+
for (const encoding in SUPPORTED_ENCODINGS) {
|
|
539
|
+
if (SUPPORTED_ENCODINGS[encoding].guessableName) {
|
|
540
|
+
guessableEncodings[encoding] = SUPPORTED_ENCODINGS[encoding];
|
|
541
|
+
}
|
|
542
|
+
}
|
|
543
|
+
return guessableEncodings;
|
|
544
|
+
})();
|
|
545
|
+
export { DecodeStreamError, DecodeStreamErrorKind, GUESSABLE_ENCODINGS, SUPPORTED_ENCODINGS, UTF16be, UTF16be_BOM, UTF16le, UTF16le_BOM, UTF8, UTF8_BOM, UTF8_with_bom, detectEncodingByBOMFromBuffer, detectEncodingFromBuffer, encodingExists, toDecodeStream, toEncodeReadable, toNodeEncoding };
|
|
@@ -28,6 +28,8 @@ import { extUri } from '../../../../base/common/resources.js';
|
|
|
28
28
|
import { IAccessibilityService } from '../../../../platform/accessibility/common/accessibility.service.js';
|
|
29
29
|
import { PLAINTEXT_LANGUAGE_ID } from '../../../../editor/common/languages/modesRegistry.js';
|
|
30
30
|
import { IExtensionService } from '../../extensions/common/extensions.service.js';
|
|
31
|
+
import { ProgressLocation } from '../../../../platform/progress/common/progress.js';
|
|
32
|
+
import { IProgressService } from '../../../../platform/progress/common/progress.service.js';
|
|
31
33
|
var TextFileEditorModel_1;
|
|
32
34
|
const _moduleId = "vs/workbench/services/textfile/common/textFileEditorModel";
|
|
33
35
|
let TextFileEditorModel = class TextFileEditorModel extends BaseTextEditorModel {
|
|
@@ -35,7 +37,7 @@ let TextFileEditorModel = class TextFileEditorModel extends BaseTextEditorModel
|
|
|
35
37
|
static { this.TEXTFILE_SAVE_ENCODING_SOURCE = SaveSourceRegistry.registerSource('textFileEncoding.source', ( localizeWithPath(_moduleId, 0, "File Encoding Changed"))); }
|
|
36
38
|
static { this.UNDO_REDO_SAVE_PARTICIPANTS_AUTO_SAVE_THROTTLE_THRESHOLD = 500; }
|
|
37
39
|
constructor(resource, preferredEncoding,
|
|
38
|
-
preferredLanguageId, languageService, modelService, fileService, textFileService, workingCopyBackupService, logService, workingCopyService, filesConfigurationService, labelService, languageDetectionService, accessibilityService, pathService, extensionService) {
|
|
40
|
+
preferredLanguageId, languageService, modelService, fileService, textFileService, workingCopyBackupService, logService, workingCopyService, filesConfigurationService, labelService, languageDetectionService, accessibilityService, pathService, extensionService, progressService) {
|
|
39
41
|
super(modelService, languageService, languageDetectionService, accessibilityService);
|
|
40
42
|
this.resource = resource;
|
|
41
43
|
this.preferredEncoding = preferredEncoding;
|
|
@@ -49,6 +51,7 @@ let TextFileEditorModel = class TextFileEditorModel extends BaseTextEditorModel
|
|
|
49
51
|
this.labelService = labelService;
|
|
50
52
|
this.pathService = pathService;
|
|
51
53
|
this.extensionService = extensionService;
|
|
54
|
+
this.progressService = progressService;
|
|
52
55
|
this._onDidChangeContent = this._register(( (new Emitter())));
|
|
53
56
|
this.onDidChangeContent = this._onDidChangeContent.event;
|
|
54
57
|
this._onDidResolve = this._register(( (new Emitter())));
|
|
@@ -476,7 +479,7 @@ let TextFileEditorModel = class TextFileEditorModel extends BaseTextEditorModel
|
|
|
476
479
|
if (typeof options.reason !== 'number') {
|
|
477
480
|
options.reason = SaveReason.EXPLICIT;
|
|
478
481
|
}
|
|
479
|
-
|
|
482
|
+
const versionId = this.versionId;
|
|
480
483
|
this.trace(`doSave(${versionId}) - enter with versionId ${versionId}`);
|
|
481
484
|
if (this.ignoreSaveFromSaveParticipants) {
|
|
482
485
|
this.trace(`doSave(${versionId}) - exit - refusing to save() recursively from save participant`);
|
|
@@ -499,6 +502,20 @@ let TextFileEditorModel = class TextFileEditorModel extends BaseTextEditorModel
|
|
|
499
502
|
this.textEditorModel.pushStackElement();
|
|
500
503
|
}
|
|
501
504
|
const saveCancellation = ( (new CancellationTokenSource()));
|
|
505
|
+
return this.progressService.withProgress({
|
|
506
|
+
title: ( localizeWithPath(_moduleId, 1, "Saving '{0}'", this.name)),
|
|
507
|
+
location: ProgressLocation.Window,
|
|
508
|
+
cancellable: true,
|
|
509
|
+
delay: this.isDirty() ? 3000 : 5000
|
|
510
|
+
}, progress => {
|
|
511
|
+
return this.doSaveSequential(versionId, options, progress, saveCancellation);
|
|
512
|
+
}, () => {
|
|
513
|
+
saveCancellation.cancel();
|
|
514
|
+
}).finally(() => {
|
|
515
|
+
saveCancellation.dispose();
|
|
516
|
+
});
|
|
517
|
+
}
|
|
518
|
+
doSaveSequential(versionId, options, progress, saveCancellation) {
|
|
502
519
|
return this.saveSequentializer.run(versionId, (async () => {
|
|
503
520
|
if (this.isResolved() && !options.skipSaveParticipants) {
|
|
504
521
|
try {
|
|
@@ -511,7 +528,7 @@ let TextFileEditorModel = class TextFileEditorModel extends BaseTextEditorModel
|
|
|
511
528
|
if (!saveCancellation.token.isCancellationRequested) {
|
|
512
529
|
this.ignoreSaveFromSaveParticipants = true;
|
|
513
530
|
try {
|
|
514
|
-
await this.textFileService.files.runSaveParticipants(this, { reason: options.reason ?? SaveReason.EXPLICIT, savedFrom: options.from }, saveCancellation.token);
|
|
531
|
+
await this.textFileService.files.runSaveParticipants(this, { reason: options.reason ?? SaveReason.EXPLICIT, savedFrom: options.from }, progress, saveCancellation.token);
|
|
515
532
|
}
|
|
516
533
|
finally {
|
|
517
534
|
this.ignoreSaveFromSaveParticipants = false;
|
|
@@ -536,6 +553,7 @@ let TextFileEditorModel = class TextFileEditorModel extends BaseTextEditorModel
|
|
|
536
553
|
}
|
|
537
554
|
versionId = this.versionId;
|
|
538
555
|
this.inErrorMode = false;
|
|
556
|
+
progress.report({ message: ( localizeWithPath(_moduleId, 2, "Writing into file...")) });
|
|
539
557
|
this.trace(`doSave(${versionId}) - before write()`);
|
|
540
558
|
const lastResolvedFileStat = assertIsDefined(this.lastResolvedFileStat);
|
|
541
559
|
const resolvedTextFileEditorModel = this;
|
|
@@ -719,6 +737,7 @@ TextFileEditorModel = TextFileEditorModel_1 = ( (__decorate([
|
|
|
719
737
|
( (__param(12, ILanguageDetectionService))),
|
|
720
738
|
( (__param(13, IAccessibilityService))),
|
|
721
739
|
( (__param(14, IPathService))),
|
|
722
|
-
( (__param(15, IExtensionService)))
|
|
740
|
+
( (__param(15, IExtensionService))),
|
|
741
|
+
( (__param(16, IProgressService)))
|
|
723
742
|
], TextFileEditorModel)));
|
|
724
743
|
export { TextFileEditorModel };
|
|
@@ -19,6 +19,10 @@ interface IReadTextFileEncodingOptions {
|
|
|
19
19
|
* The optional guessEncoding parameter allows to guess encoding from content of the file.
|
|
20
20
|
*/
|
|
21
21
|
readonly autoGuessEncoding?: boolean;
|
|
22
|
+
/**
|
|
23
|
+
* The optional candidateGuessEncodings parameter limits the allowed encodings to guess from.
|
|
24
|
+
*/
|
|
25
|
+
readonly candidateGuessEncodings?: string[];
|
|
22
26
|
/**
|
|
23
27
|
* The optional acceptTextOnly parameter allows to fail this request early if the file
|
|
24
28
|
* contents are not textual.
|
|
@@ -201,7 +205,7 @@ interface ITextFileEditorModelManager {
|
|
|
201
205
|
/**
|
|
202
206
|
* Runs the registered save participants on the provided model.
|
|
203
207
|
*/
|
|
204
|
-
runSaveParticipants(model: ITextFileEditorModel, context: ITextFileSaveParticipantContext, token: CancellationToken): Promise<void>;
|
|
208
|
+
runSaveParticipants(model: ITextFileEditorModel, context: ITextFileSaveParticipantContext, progress: IProgress<IProgressStep>, token: CancellationToken): Promise<void>;
|
|
205
209
|
/**
|
|
206
210
|
* Waits for the model to be ready to be disposed. There may be conditions
|
|
207
211
|
* under which the model cannot be disposed, e.g. when it is dirty. Once the
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { __decorate, __param } from '../../../../../../../external/tslib/tslib.es6.js';
|
|
2
|
-
import { Disposable, toDisposable, DisposableStore } from '../../../../base/common/lifecycle.js';
|
|
2
|
+
import { Disposable, DisposableMap, toDisposable, DisposableStore } from '../../../../base/common/lifecycle.js';
|
|
3
3
|
import { ViewContainerLocation } from '../../../common/views.js';
|
|
4
4
|
import { IViewDescriptorService } from '../../../common/views.service.js';
|
|
5
5
|
import { FocusedViewContext, getVisbileViewContextKey } from '../../../common/contextkeys.js';
|
|
@@ -44,6 +44,7 @@ let ViewsService = class ViewsService extends Disposable {
|
|
|
44
44
|
this.onDidChangeViewContainerVisibility = this._onDidChangeViewContainerVisibility.event;
|
|
45
45
|
this._onDidChangeFocusedView = this._register(( (new Emitter())));
|
|
46
46
|
this.onDidChangeFocusedView = this._onDidChangeFocusedView.event;
|
|
47
|
+
this.viewContainerDisposables = this._register(( (new DisposableMap())));
|
|
47
48
|
this.viewDisposable = ( (new Map()));
|
|
48
49
|
this.enabledViewContainersContextKeys = ( (new Map()));
|
|
49
50
|
this.visibleViewContextKeys = ( (new Map()));
|
|
@@ -84,7 +85,7 @@ let ViewsService = class ViewsService extends Disposable {
|
|
|
84
85
|
}
|
|
85
86
|
onDidChangeContainers(added, removed) {
|
|
86
87
|
for (const { container, location } of removed) {
|
|
87
|
-
this.
|
|
88
|
+
this.onDidDeregisterViewContainer(container, location);
|
|
88
89
|
}
|
|
89
90
|
for (const { container, location } of added) {
|
|
90
91
|
this.onDidRegisterViewContainer(container, location);
|
|
@@ -92,15 +93,21 @@ let ViewsService = class ViewsService extends Disposable {
|
|
|
92
93
|
}
|
|
93
94
|
onDidRegisterViewContainer(viewContainer, viewContainerLocation) {
|
|
94
95
|
this.registerPaneComposite(viewContainer, viewContainerLocation);
|
|
96
|
+
const disposables = ( (new DisposableStore()));
|
|
95
97
|
const viewContainerModel = this.viewDescriptorService.getViewContainerModel(viewContainer);
|
|
96
98
|
this.onViewDescriptorsAdded(viewContainerModel.allViewDescriptors, viewContainer);
|
|
97
|
-
|
|
99
|
+
disposables.add(viewContainerModel.onDidChangeAllViewDescriptors(({ added, removed }) => {
|
|
98
100
|
this.onViewDescriptorsAdded(added, viewContainer);
|
|
99
101
|
this.onViewDescriptorsRemoved(removed);
|
|
100
102
|
}));
|
|
101
103
|
this.updateViewContainerEnablementContextKey(viewContainer);
|
|
102
|
-
|
|
103
|
-
|
|
104
|
+
disposables.add(viewContainerModel.onDidChangeActiveViewDescriptors(() => this.updateViewContainerEnablementContextKey(viewContainer)));
|
|
105
|
+
disposables.add(this.registerOpenViewContainerAction(viewContainer));
|
|
106
|
+
this.viewContainerDisposables.set(viewContainer.id, disposables);
|
|
107
|
+
}
|
|
108
|
+
onDidDeregisterViewContainer(viewContainer, viewContainerLocation) {
|
|
109
|
+
this.deregisterPaneComposite(viewContainer, viewContainerLocation);
|
|
110
|
+
this.viewContainerDisposables.deleteAndDispose(viewContainer.id);
|
|
104
111
|
}
|
|
105
112
|
onDidChangeContainerLocation(viewContainer, from, to) {
|
|
106
113
|
this.deregisterPaneComposite(viewContainer, from);
|