@codingame/monaco-vscode-api 6.0.3 → 7.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +150 -117
- package/api.js +1 -1
- package/debugProtocol.d.ts +10 -1
- package/extensions.d.ts +2 -0
- package/missing-services.js +21 -2
- 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/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
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
function getNWords(str, numWordsToCount) {
|
|
2
|
-
const allWordMatches = Array.from(str.matchAll(/\[([^\]]+)\]\(([^)]+)\)|[^\s
|
|
2
|
+
const allWordMatches = Array.from(str.matchAll(/\[([^\]]+)\]\(([^)]+)\)|\p{sc=Han}|[^\s\|\-|\p{sc=Han}]+/gu));
|
|
3
3
|
const targetWords = allWordMatches.slice(0, numWordsToCount);
|
|
4
4
|
const endIndex = numWordsToCount > allWordMatches.length
|
|
5
5
|
? str.length
|
|
@@ -7,12 +7,13 @@ function getNWords(str, numWordsToCount) {
|
|
|
7
7
|
const value = str.substring(0, endIndex);
|
|
8
8
|
return {
|
|
9
9
|
value,
|
|
10
|
-
|
|
11
|
-
isFullString: endIndex >= str.length
|
|
10
|
+
returnedWordCount: targetWords.length === 0 ? (value.length ? 1 : 0) : targetWords.length,
|
|
11
|
+
isFullString: endIndex >= str.length,
|
|
12
|
+
totalWordCount: allWordMatches.length
|
|
12
13
|
};
|
|
13
14
|
}
|
|
14
15
|
function countWords(str) {
|
|
15
16
|
const result = getNWords(str, Number.MAX_SAFE_INTEGER);
|
|
16
|
-
return result.
|
|
17
|
+
return result.returnedWordCount;
|
|
17
18
|
}
|
|
18
19
|
export { countWords, getNWords };
|
|
@@ -15,6 +15,7 @@ let CodeBlockModelCollection = class CodeBlockModelCollection extends Disposable
|
|
|
15
15
|
this.languageService = languageService;
|
|
16
16
|
this.textModelService = textModelService;
|
|
17
17
|
this._models = ( new ResourceMap());
|
|
18
|
+
this.maxModelCount = 100;
|
|
18
19
|
}
|
|
19
20
|
dispose() {
|
|
20
21
|
super.dispose();
|
|
@@ -36,8 +37,23 @@ let CodeBlockModelCollection = class CodeBlockModelCollection extends Disposable
|
|
|
36
37
|
const uri = this.getUri(sessionId, chat, codeBlockIndex);
|
|
37
38
|
const ref = this.textModelService.createModelReference(uri);
|
|
38
39
|
this._models.set(uri, { model: ref, vulns: [] });
|
|
40
|
+
while (this._models.size > this.maxModelCount) {
|
|
41
|
+
const first = Array.from(( this._models.keys())).at(0);
|
|
42
|
+
if (!first) {
|
|
43
|
+
break;
|
|
44
|
+
}
|
|
45
|
+
this.delete(first);
|
|
46
|
+
}
|
|
39
47
|
return { model: ref.then(ref => ref.object), vulns: [] };
|
|
40
48
|
}
|
|
49
|
+
delete(codeBlockUri) {
|
|
50
|
+
const entry = this._models.get(codeBlockUri);
|
|
51
|
+
if (!entry) {
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
54
|
+
entry.model.then(ref => ref.dispose());
|
|
55
|
+
this._models.delete(codeBlockUri);
|
|
56
|
+
}
|
|
41
57
|
clear() {
|
|
42
58
|
this._models.forEach(async (entry) => (await entry.model).dispose());
|
|
43
59
|
this._models.clear();
|
|
@@ -148,12 +148,12 @@ let LanguageModelsService = class LanguageModelsService {
|
|
|
148
148
|
}
|
|
149
149
|
});
|
|
150
150
|
}
|
|
151
|
-
|
|
151
|
+
async sendChatRequest(identifier, from, messages, options, token) {
|
|
152
152
|
const provider = this._providers.get(identifier);
|
|
153
153
|
if (!provider) {
|
|
154
154
|
throw ( (new Error(`Chat response provider with identifier ${identifier} is not registered.`)));
|
|
155
155
|
}
|
|
156
|
-
return provider.
|
|
156
|
+
return provider.sendChatRequest(messages, from, options, token);
|
|
157
157
|
}
|
|
158
158
|
computeTokenLength(identifier, message, token) {
|
|
159
159
|
const provider = this._providers.get(identifier);
|
|
@@ -3,6 +3,7 @@ import { Emitter } from '../../../../base/common/event.js';
|
|
|
3
3
|
import { HierarchicalKind } from '../../../../base/common/hierarchicalKind.js';
|
|
4
4
|
import { Disposable } from '../../../../base/common/lifecycle.js';
|
|
5
5
|
import { editorConfigurationBaseNode } from '../../../../editor/common/config/editorConfigurationSchema.js';
|
|
6
|
+
import { ILanguageFeaturesService } from '../../../../editor/common/services/languageFeatures.js';
|
|
6
7
|
import { codeActionCommandId, refactorCommandId, sourceActionCommandId } from '../../../../editor/contrib/codeAction/browser/codeAction.js';
|
|
7
8
|
import { CodeActionKind } from '../../../../editor/contrib/codeAction/common/types.js';
|
|
8
9
|
import { localizeWithPath } from '../../../../nls.js';
|
|
@@ -37,18 +38,10 @@ const createCodeActionsAutoSave = (description) => {
|
|
|
37
38
|
description: description
|
|
38
39
|
};
|
|
39
40
|
};
|
|
40
|
-
const codeActionsOnSaveDefaultProperties = ( (Object.freeze({
|
|
41
|
-
'source.fixAll': createCodeActionsAutoSave(( localizeWithPath(
|
|
42
|
-
_moduleId,
|
|
43
|
-
5,
|
|
44
|
-
"Controls whether auto fix action should be run on file save."
|
|
45
|
-
))),
|
|
46
|
-
})));
|
|
47
41
|
const codeActionsOnSaveSchema = {
|
|
48
42
|
oneOf: [
|
|
49
43
|
{
|
|
50
44
|
type: 'object',
|
|
51
|
-
properties: codeActionsOnSaveDefaultProperties,
|
|
52
45
|
additionalProperties: {
|
|
53
46
|
type: 'string'
|
|
54
47
|
},
|
|
@@ -60,7 +53,7 @@ const codeActionsOnSaveSchema = {
|
|
|
60
53
|
],
|
|
61
54
|
markdownDescription: ( localizeWithPath(
|
|
62
55
|
_moduleId,
|
|
63
|
-
|
|
56
|
+
5,
|
|
64
57
|
'Run Code Actions for the editor on save. Code Actions must be specified and the editor must not be shutting down. Example: `"source.organizeImports": "explicit" `'
|
|
65
58
|
)),
|
|
66
59
|
type: ['object', 'array'],
|
|
@@ -78,10 +71,16 @@ const editorConfiguration = ( (Object.freeze({
|
|
|
78
71
|
}
|
|
79
72
|
})));
|
|
80
73
|
let CodeActionsContribution = class CodeActionsContribution extends Disposable {
|
|
81
|
-
constructor(codeActionsExtensionPoint, keybindingService) {
|
|
74
|
+
constructor(codeActionsExtensionPoint, keybindingService, languageFeatures) {
|
|
82
75
|
super();
|
|
76
|
+
this.languageFeatures = languageFeatures;
|
|
83
77
|
this._contributedCodeActions = [];
|
|
78
|
+
this.settings = ( (new Set()));
|
|
84
79
|
this._onDidChangeContributions = this._register(( (new Emitter())));
|
|
80
|
+
languageFeatures.codeActionProvider.onDidChange(() => {
|
|
81
|
+
this.updateSettingsFromCodeActionProviders();
|
|
82
|
+
this.updateConfigurationSchemaFromContribs();
|
|
83
|
+
}, 2000);
|
|
85
84
|
codeActionsExtensionPoint.setHandler(extensionPoints => {
|
|
86
85
|
this._contributedCodeActions = extensionPoints.flatMap(x => x.value).filter(x => Array.isArray(x.actions));
|
|
87
86
|
this.updateConfigurationSchema(this._contributedCodeActions);
|
|
@@ -92,12 +91,25 @@ let CodeActionsContribution = class CodeActionsContribution extends Disposable {
|
|
|
92
91
|
onDidChange: this._onDidChangeContributions.event,
|
|
93
92
|
});
|
|
94
93
|
}
|
|
94
|
+
updateSettingsFromCodeActionProviders() {
|
|
95
|
+
const providers = this.languageFeatures.codeActionProvider.allNoModel();
|
|
96
|
+
providers.forEach(provider => {
|
|
97
|
+
if (provider.providedCodeActionKinds) {
|
|
98
|
+
provider.providedCodeActionKinds.forEach(kind => {
|
|
99
|
+
if (!( (this.settings.has(kind))) && CodeActionKind.Source.contains(( (new HierarchicalKind(kind))))) {
|
|
100
|
+
this.settings.add(kind);
|
|
101
|
+
}
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
});
|
|
105
|
+
}
|
|
95
106
|
updateConfigurationSchema(codeActionContributions) {
|
|
96
|
-
const newProperties = {
|
|
107
|
+
const newProperties = {};
|
|
97
108
|
for (const [sourceAction, props] of this.getSourceActions(codeActionContributions)) {
|
|
109
|
+
this.settings.add(sourceAction);
|
|
98
110
|
newProperties[sourceAction] = createCodeActionsAutoSave(( localizeWithPath(
|
|
99
111
|
_moduleId,
|
|
100
|
-
|
|
112
|
+
6,
|
|
101
113
|
"Controls whether '{0}' actions should be run on file save.",
|
|
102
114
|
props.title
|
|
103
115
|
)));
|
|
@@ -106,14 +118,28 @@ let CodeActionsContribution = class CodeActionsContribution extends Disposable {
|
|
|
106
118
|
( (Registry.as(Extensions.Configuration)))
|
|
107
119
|
.notifyConfigurationSchemaUpdated(editorConfiguration);
|
|
108
120
|
}
|
|
121
|
+
updateConfigurationSchemaFromContribs() {
|
|
122
|
+
const properties = { ...codeActionsOnSaveSchema.properties };
|
|
123
|
+
for (const codeActionKind of this.settings) {
|
|
124
|
+
if (!properties[codeActionKind]) {
|
|
125
|
+
properties[codeActionKind] = createCodeActionsAutoSave(( localizeWithPath(
|
|
126
|
+
_moduleId,
|
|
127
|
+
6,
|
|
128
|
+
"Controls whether '{0}' actions should be run on file save.",
|
|
129
|
+
codeActionKind
|
|
130
|
+
)));
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
codeActionsOnSaveSchema.properties = properties;
|
|
134
|
+
( (Registry.as(Extensions.Configuration)))
|
|
135
|
+
.notifyConfigurationSchemaUpdated(editorConfiguration);
|
|
136
|
+
}
|
|
109
137
|
getSourceActions(contributions) {
|
|
110
|
-
const defaultKinds = ( (( (Object.keys(codeActionsOnSaveDefaultProperties))).map(value => ( (new HierarchicalKind(value))))));
|
|
111
138
|
const sourceActions = ( (new Map()));
|
|
112
139
|
for (const contribution of contributions) {
|
|
113
140
|
for (const action of contribution.actions) {
|
|
114
141
|
const kind = ( (new HierarchicalKind(action.kind)));
|
|
115
|
-
if (CodeActionKind.Source.contains(kind)
|
|
116
|
-
&& !( (defaultKinds.some(defaultKind => defaultKind.contains(kind))))) {
|
|
142
|
+
if (CodeActionKind.Source.contains(kind)) {
|
|
117
143
|
sourceActions.set(kind.value, action);
|
|
118
144
|
}
|
|
119
145
|
}
|
|
@@ -167,6 +193,7 @@ let CodeActionsContribution = class CodeActionsContribution extends Disposable {
|
|
|
167
193
|
}
|
|
168
194
|
};
|
|
169
195
|
CodeActionsContribution = ( (__decorate([
|
|
170
|
-
( (__param(1, IKeybindingService)))
|
|
196
|
+
( (__param(1, IKeybindingService))),
|
|
197
|
+
( (__param(2, ILanguageFeaturesService)))
|
|
171
198
|
], CodeActionsContribution)));
|
|
172
199
|
export { CodeActionsContribution, editorConfiguration };
|
|
@@ -29,7 +29,7 @@ let DiffEditorHelperContribution = class DiffEditorHelperContribution extends Di
|
|
|
29
29
|
this._notificationService = _notificationService;
|
|
30
30
|
const isEmbeddedDiffEditor = this._diffEditor instanceof EmbeddedDiffEditorWidget;
|
|
31
31
|
if (!isEmbeddedDiffEditor) {
|
|
32
|
-
const computationResult = observableFromEvent(e => this._diffEditor.onDidUpdateDiff(e), () => this._diffEditor.getDiffComputationResult());
|
|
32
|
+
const computationResult = observableFromEvent(this, e => this._diffEditor.onDidUpdateDiff(e), () => this._diffEditor.getDiffComputationResult());
|
|
33
33
|
const onlyWhiteSpaceChange = ( (computationResult.map(r => r && !r.identical && r.changes2.length === 0)));
|
|
34
34
|
this._register(autorunWithStore((reader, store) => {
|
|
35
35
|
if (onlyWhiteSpaceChange.read(reader)) {
|
|
@@ -203,9 +203,7 @@ class SimpleFindWidget extends Widget {
|
|
|
203
203
|
}
|
|
204
204
|
dispose() {
|
|
205
205
|
super.dispose();
|
|
206
|
-
|
|
207
|
-
this._domNode.parentElement.removeChild(this._domNode);
|
|
208
|
-
}
|
|
206
|
+
this._domNode?.remove();
|
|
209
207
|
}
|
|
210
208
|
isVisible() {
|
|
211
209
|
return this._isVisible;
|
|
@@ -59,7 +59,7 @@ let SuggestEnabledInput = class SuggestEnabledInput extends Widget {
|
|
|
59
59
|
editorOptions.overflowWidgetsDomNode = options.overflowWidgetsDomNode;
|
|
60
60
|
const scopedContextKeyService = this.getScopedContextKeyService(contextKeyService);
|
|
61
61
|
const instantiationService = scopedContextKeyService
|
|
62
|
-
? defaultInstantiationService.createChild(( (new ServiceCollection([IContextKeyService, scopedContextKeyService]))))
|
|
62
|
+
? this._register(defaultInstantiationService.createChild(( (new ServiceCollection([IContextKeyService, scopedContextKeyService])))))
|
|
63
63
|
: defaultInstantiationService;
|
|
64
64
|
this.inputWidget = this._register(instantiationService.createInstance(CodeEditorWidget, this.stylingContainer, editorOptions, {
|
|
65
65
|
contributions: EditorExtensionsRegistry.getSomeEditorContributions([
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import { __decorate, __param } from '../../../../../../../external/tslib/tslib.es6.js';
|
|
2
|
-
import {
|
|
2
|
+
import { Disposable } from '../../../../base/common/lifecycle.js';
|
|
3
3
|
import { isMacintosh } from '../../../../base/common/platform.js';
|
|
4
|
+
import { localize2WithPath, localizeWithPath } from '../../../../nls.js';
|
|
4
5
|
import { Action2, registerAction2, MenuRegistry, MenuId } from '../../../../platform/actions/common/actions.js';
|
|
5
6
|
import { IConfigurationService } from '../../../../platform/configuration/common/configuration.service.js';
|
|
6
7
|
import { RawContextKey } from '../../../../platform/contextkey/common/contextkey.js';
|
|
7
8
|
import { IContextKeyService } from '../../../../platform/contextkey/common/contextkey.service.js';
|
|
8
|
-
import { LifecyclePhase } from '../../../services/lifecycle/common/lifecycle.js';
|
|
9
9
|
import { Registry } from '../../../../platform/registry/common/platform.js';
|
|
10
10
|
import { Extensions } from '../../../common/contributions.js';
|
|
11
|
+
import { LifecyclePhase } from '../../../services/lifecycle/common/lifecycle.js';
|
|
11
12
|
const _moduleId = "vs/workbench/contrib/codeEditor/browser/toggleMultiCursorModifier";
|
|
12
13
|
class ToggleMultiCursorModifierAction extends Action2 {
|
|
13
14
|
static { this.ID = 'workbench.action.toggleMultiCursorModifier'; }
|
|
@@ -27,16 +28,17 @@ class ToggleMultiCursorModifierAction extends Action2 {
|
|
|
27
28
|
}
|
|
28
29
|
}
|
|
29
30
|
const multiCursorModifier = ( (new RawContextKey('multiCursorModifier', 'altKey')));
|
|
30
|
-
let MultiCursorModifierContextKeyController = class MultiCursorModifierContextKeyController {
|
|
31
|
+
let MultiCursorModifierContextKeyController = class MultiCursorModifierContextKeyController extends Disposable {
|
|
31
32
|
constructor(configurationService, contextKeyService) {
|
|
33
|
+
super();
|
|
32
34
|
this.configurationService = configurationService;
|
|
33
35
|
this._multiCursorModifier = multiCursorModifier.bindTo(contextKeyService);
|
|
34
36
|
this._update();
|
|
35
|
-
configurationService.onDidChangeConfiguration((e) => {
|
|
37
|
+
this._register(configurationService.onDidChangeConfiguration((e) => {
|
|
36
38
|
if (e.affectsConfiguration('editor.multiCursorModifier')) {
|
|
37
39
|
this._update();
|
|
38
40
|
}
|
|
39
|
-
});
|
|
41
|
+
}));
|
|
40
42
|
}
|
|
41
43
|
_update() {
|
|
42
44
|
const editorConf = this.configurationService.getValue('editor');
|
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
import { __decorate, __param } from '../../../../../../../external/tslib/tslib.es6.js';
|
|
2
|
-
import {
|
|
2
|
+
import { onDidRegisterWindow, addDisposableListener } from '../../../../base/browser/dom.js';
|
|
3
|
+
import { mainWindow } from '../../../../base/browser/window.js';
|
|
4
|
+
import { Codicon } from '../../../../base/common/codicons.js';
|
|
5
|
+
import { Event } from '../../../../base/common/event.js';
|
|
3
6
|
import { KeyMod as KeyMod$1, KeyCode } from '../../../../base/common/keyCodes.js';
|
|
4
7
|
import { Disposable, DisposableStore } from '../../../../base/common/lifecycle.js';
|
|
5
8
|
import { registerEditorContribution, registerDiffEditorContribution, registerEditorAction, EditorContributionInstantiation, EditorAction } from '../../../../editor/browser/editorExtensions.js';
|
|
6
9
|
import { ICodeEditorService } from '../../../../editor/browser/services/codeEditorService.js';
|
|
7
10
|
import { EditorOption } from '../../../../editor/common/config/editorOptions.js';
|
|
11
|
+
import { EditorContextKeys } from '../../../../editor/common/editorContextKeys.js';
|
|
12
|
+
import { localizeWithPath } from '../../../../nls.js';
|
|
8
13
|
import { MenuRegistry, MenuId } from '../../../../platform/actions/common/actions.js';
|
|
9
14
|
import { ContextKeyExpr, RawContextKey } from '../../../../platform/contextkey/common/contextkey.js';
|
|
10
15
|
import { IContextKeyService } from '../../../../platform/contextkey/common/contextkey.service.js';
|
|
11
16
|
import { KeybindingWeight } from '../../../../platform/keybinding/common/keybindingsRegistry.js';
|
|
12
|
-
import { EditorContextKeys } from '../../../../editor/common/editorContextKeys.js';
|
|
13
|
-
import { Codicon } from '../../../../base/common/codicons.js';
|
|
14
17
|
import { registerWorkbenchContribution2, WorkbenchPhase } from '../../../common/contributions.js';
|
|
15
18
|
import { IEditorService } from '../../../services/editor/common/editorService.service.js';
|
|
16
|
-
import { Event } from '../../../../base/common/event.js';
|
|
17
|
-
import { onDidRegisterWindow, addDisposableListener } from '../../../../base/browser/dom.js';
|
|
18
|
-
import { mainWindow } from '../../../../base/browser/window.js';
|
|
19
19
|
const _moduleId = "vs/workbench/contrib/codeEditor/browser/toggleWordWrap";
|
|
20
20
|
const transientWordWrapState = 'transientWordWrapState';
|
|
21
21
|
const isWordWrapMinifiedKey = 'isWordWrapMinified';
|
|
@@ -202,7 +202,7 @@ let EditorWordWrapContextKeyTracker = class EditorWordWrapContextKeyTracker exte
|
|
|
202
202
|
disposables.add(addDisposableListener(window, 'focus', () => this._update(), true));
|
|
203
203
|
disposables.add(addDisposableListener(window, 'blur', () => this._update(), true));
|
|
204
204
|
}, { window: mainWindow, disposables: this._store }));
|
|
205
|
-
this._editorService.onDidActiveEditorChange(() => this._update());
|
|
205
|
+
this._register(this._editorService.onDidActiveEditorChange(() => this._update()));
|
|
206
206
|
this._canToggleWordWrap = CAN_TOGGLE_WORD_WRAP.bindTo(this._contextService);
|
|
207
207
|
this._editorWordWrap = EDITOR_WORD_WRAP.bindTo(this._contextService);
|
|
208
208
|
this._activeEditor = null;
|
|
@@ -15,11 +15,11 @@ import '../../../../platform/theme/common/colors/searchColors.js';
|
|
|
15
15
|
const _moduleId = "vs/workbench/contrib/comments/browser/commentColors";
|
|
16
16
|
const resolvedCommentViewIcon = registerColor('commentsView.resolvedIcon', { dark: disabledForeground, light: disabledForeground, hcDark: contrastBorder, hcLight: contrastBorder }, ( localizeWithPath(_moduleId, 0, 'Icon color for resolved comments.')));
|
|
17
17
|
const unresolvedCommentViewIcon = registerColor('commentsView.unresolvedIcon', { dark: listFocusOutline, light: listFocusOutline, hcDark: contrastBorder, hcLight: contrastBorder }, ( localizeWithPath(_moduleId, 1, 'Icon color for unresolved comments.')));
|
|
18
|
-
registerColor('editorCommentsWidget.replyInputBackground',
|
|
18
|
+
registerColor('editorCommentsWidget.replyInputBackground', peekViewTitleBackground, ( localizeWithPath(_moduleId, 2, 'Background color for comment reply input box.')));
|
|
19
19
|
const resolvedCommentBorder = registerColor('editorCommentsWidget.resolvedBorder', { dark: resolvedCommentViewIcon, light: resolvedCommentViewIcon, hcDark: contrastBorder, hcLight: contrastBorder }, ( localizeWithPath(_moduleId, 3, 'Color of borders and arrow for resolved comments.')));
|
|
20
20
|
const unresolvedCommentBorder = registerColor('editorCommentsWidget.unresolvedBorder', { dark: unresolvedCommentViewIcon, light: unresolvedCommentViewIcon, hcDark: contrastBorder, hcLight: contrastBorder }, ( localizeWithPath(_moduleId, 4, 'Color of borders and arrow for unresolved comments.')));
|
|
21
|
-
registerColor('editorCommentsWidget.rangeBackground',
|
|
22
|
-
registerColor('editorCommentsWidget.rangeActiveBackground',
|
|
21
|
+
registerColor('editorCommentsWidget.rangeBackground', ( (transparent(unresolvedCommentBorder, .1))), ( localizeWithPath(_moduleId, 5, 'Color of background for comment ranges.')));
|
|
22
|
+
registerColor('editorCommentsWidget.rangeActiveBackground', ( (transparent(unresolvedCommentBorder, .1))), ( localizeWithPath(
|
|
23
23
|
_moduleId,
|
|
24
24
|
6,
|
|
25
25
|
'Color of background for currently selected or hovered comment range.'
|
|
@@ -22,18 +22,18 @@ const overviewRulerCommentingRangeForeground = registerColor('editorGutter.comme
|
|
|
22
22
|
0,
|
|
23
23
|
'Editor gutter decoration color for commenting ranges. This color should be opaque.'
|
|
24
24
|
)));
|
|
25
|
-
const overviewRulerCommentForeground = registerColor('editorOverviewRuler.commentForeground',
|
|
25
|
+
const overviewRulerCommentForeground = registerColor('editorOverviewRuler.commentForeground', overviewRulerCommentingRangeForeground, ( localizeWithPath(
|
|
26
26
|
_moduleId,
|
|
27
27
|
1,
|
|
28
28
|
'Editor overview ruler decoration color for resolved comments. This color should be opaque.'
|
|
29
29
|
)));
|
|
30
|
-
const overviewRulerCommentUnresolvedForeground = registerColor('editorOverviewRuler.commentUnresolvedForeground',
|
|
30
|
+
const overviewRulerCommentUnresolvedForeground = registerColor('editorOverviewRuler.commentUnresolvedForeground', overviewRulerCommentForeground, ( localizeWithPath(
|
|
31
31
|
_moduleId,
|
|
32
32
|
2,
|
|
33
33
|
'Editor overview ruler decoration color for unresolved comments. This color should be opaque.'
|
|
34
34
|
)));
|
|
35
35
|
const editorGutterCommentGlyphForeground = registerColor('editorGutter.commentGlyphForeground', { dark: editorForeground, light: editorForeground, hcDark: Color.black, hcLight: Color.white }, ( localizeWithPath(_moduleId, 3, 'Editor gutter decoration color for commenting glyphs.')));
|
|
36
|
-
registerColor('editorGutter.commentUnresolvedGlyphForeground',
|
|
36
|
+
registerColor('editorGutter.commentUnresolvedGlyphForeground', editorGutterCommentGlyphForeground, ( localizeWithPath(
|
|
37
37
|
_moduleId,
|
|
38
38
|
4,
|
|
39
39
|
'Editor gutter decoration color for commenting glyphs for unresolved comment threads.'
|
|
@@ -93,7 +93,7 @@ let CommentReply = class CommentReply extends Disposable {
|
|
|
93
93
|
else if (hasExistingComments) {
|
|
94
94
|
this.createReplyButton(this.commentEditor, this.form);
|
|
95
95
|
}
|
|
96
|
-
else if (focus && (this._commentThread.comments
|
|
96
|
+
else if (focus && (!this._commentThread.comments || this._commentThread.comments.length === 0)) {
|
|
97
97
|
this.expandReplyArea();
|
|
98
98
|
}
|
|
99
99
|
this._error = append(this.form, $('.validation-error.hidden'));
|
|
@@ -310,7 +310,7 @@ let CommentReply = class CommentReply extends Disposable {
|
|
|
310
310
|
}
|
|
311
311
|
createReplyButton(commentEditor, commentForm) {
|
|
312
312
|
this._reviewThreadReplyButton = append(commentForm, $(`button.review-thread-reply-button.${MOUSE_CURSOR_TEXT_CSS_CLASS_NAME}`));
|
|
313
|
-
this._register(this.hoverService.
|
|
313
|
+
this._register(this.hoverService.setupManagedHover(getDefaultHoverDelegate('mouse'), this._reviewThreadReplyButton, this._commentOptions?.prompt || ( localizeWithPath(_moduleId, 0, "Reply..."))));
|
|
314
314
|
this._reviewThreadReplyButton.textContent = this._commentOptions?.prompt || ( localizeWithPath(_moduleId, 0, "Reply..."));
|
|
315
315
|
this._register(addDisposableListener(this._reviewThreadReplyButton, 'click', _ => this.clearAndExpandReplyArea()));
|
|
316
316
|
this._register(addDisposableListener(this._reviewThreadReplyButton, 'focus', _ => this.clearAndExpandReplyArea()));
|
|
@@ -143,7 +143,7 @@ let CommentThreadBody = class CommentThreadBody extends Disposable {
|
|
|
143
143
|
this._commentDisposable.get(commentToDelete)?.dispose();
|
|
144
144
|
this._commentDisposable.delete(commentToDelete);
|
|
145
145
|
this._commentElements.splice(commentElementsToDelIndex[i], 1);
|
|
146
|
-
|
|
146
|
+
commentToDelete.domNode.remove();
|
|
147
147
|
}
|
|
148
148
|
let lastCommentElement = null;
|
|
149
149
|
const newCommentNodeList = [];
|
|
@@ -2,7 +2,7 @@ import { $, append, addDisposableListener, EventType, getWindow } from '../../..
|
|
|
2
2
|
import { ActionBar } from '../../../../base/browser/ui/actionbar/actionbar.js';
|
|
3
3
|
import { Action, ActionRunner } from '../../../../base/common/actions.js';
|
|
4
4
|
import { Codicon } from '../../../../base/common/codicons.js';
|
|
5
|
-
import { Disposable } from '../../../../base/common/lifecycle.js';
|
|
5
|
+
import { Disposable, toDisposable } from '../../../../base/common/lifecycle.js';
|
|
6
6
|
import { escape } from '../../../../base/common/strings.js';
|
|
7
7
|
import { localizeWithPath } from '../../../../nls.js';
|
|
8
8
|
import { createActionViewItem } from '../../../../platform/actions/browser/menuEntryActionViewItem.js';
|
|
@@ -24,6 +24,7 @@ class CommentThreadHeader extends Disposable {
|
|
|
24
24
|
this._contextMenuService = _contextMenuService;
|
|
25
25
|
this._headElement = $('.head');
|
|
26
26
|
container.appendChild(this._headElement);
|
|
27
|
+
this._register(toDisposable(() => this._headElement.remove()));
|
|
27
28
|
this._fillHead();
|
|
28
29
|
}
|
|
29
30
|
_fillHead() {
|
|
@@ -2,7 +2,7 @@ import { __decorate, __param } from '../../../../../../../external/tslib/tslib.e
|
|
|
2
2
|
import './media/review.css.js';
|
|
3
3
|
import { $, trackFocus, createStyleSheet, addDisposableListener, EventType } from '../../../../base/browser/dom.js';
|
|
4
4
|
import { Emitter } from '../../../../base/common/event.js';
|
|
5
|
-
import { Disposable, dispose } from '../../../../base/common/lifecycle.js';
|
|
5
|
+
import { Disposable, toDisposable, dispose } from '../../../../base/common/lifecycle.js';
|
|
6
6
|
import { CommentThreadCollapsibleState, CommentThreadState } from '../../../../editor/common/languages.js';
|
|
7
7
|
import { CommentReply } from './commentReply.js';
|
|
8
8
|
import { ICommentService } from './commentService.service.js';
|
|
@@ -66,6 +66,7 @@ let CommentThreadWidget = class CommentThreadWidget extends Disposable {
|
|
|
66
66
|
this._header.updateCommentThread(this._commentThread);
|
|
67
67
|
const bodyElement = $('.body');
|
|
68
68
|
container.appendChild(bodyElement);
|
|
69
|
+
this._register(toDisposable(() => bodyElement.remove()));
|
|
69
70
|
const tracker = this._register(trackFocus(bodyElement));
|
|
70
71
|
this._register(registerNavigableContainer({
|
|
71
72
|
name: 'commentThreadWidget',
|
|
@@ -80,7 +80,7 @@ let ReviewZoneWidget = class ReviewZoneWidget extends ZoneWidget {
|
|
|
80
80
|
this._globalToDispose = ( new DisposableStore());
|
|
81
81
|
this._commentThreadDisposables = [];
|
|
82
82
|
this._contextKeyService = contextKeyService.createScoped(this.domNode);
|
|
83
|
-
this._scopedInstantiationService = instantiationService.createChild(( new ServiceCollection([IContextKeyService, this._contextKeyService])));
|
|
83
|
+
this._scopedInstantiationService = this._globalToDispose.add(instantiationService.createChild(( new ServiceCollection([IContextKeyService, this._contextKeyService]))));
|
|
84
84
|
const controller = this.commentService.getCommentController(this._uniqueOwner);
|
|
85
85
|
if (controller) {
|
|
86
86
|
this._commentOptions = controller.options;
|
|
@@ -625,10 +625,12 @@ let CommentController = class CommentController {
|
|
|
625
625
|
}
|
|
626
626
|
return Promise.resolve([]);
|
|
627
627
|
});
|
|
628
|
-
|
|
628
|
+
this._computeAndSetPromise = this._computePromise.then(async (commentInfos) => {
|
|
629
629
|
await this.setComments(coalesce(commentInfos));
|
|
630
630
|
this._computePromise = null;
|
|
631
631
|
}, error => console.log(error));
|
|
632
|
+
this._computePromise.then(() => this._computeAndSetPromise = undefined);
|
|
633
|
+
return this._computeAndSetPromise;
|
|
632
634
|
}
|
|
633
635
|
beginComputeCommentingRanges() {
|
|
634
636
|
if (this._computeCommentingRangeScheduler) {
|
|
@@ -662,8 +664,8 @@ let CommentController = class CommentController {
|
|
|
662
664
|
commentThreadWidget[0].reveal(commentUniqueId, focus);
|
|
663
665
|
}
|
|
664
666
|
else if (fetchOnceIfNotExist) {
|
|
665
|
-
if (this.
|
|
666
|
-
this.
|
|
667
|
+
if (this._computeAndSetPromise) {
|
|
668
|
+
this._computeAndSetPromise.then(_ => {
|
|
667
669
|
this.revealCommentThread(threadId, commentUniqueId, false, focus);
|
|
668
670
|
});
|
|
669
671
|
}
|
|
@@ -698,7 +700,7 @@ let CommentController = class CommentController {
|
|
|
698
700
|
if (!this._commentWidgets.length || !this.editor?.hasModel()) {
|
|
699
701
|
return;
|
|
700
702
|
}
|
|
701
|
-
const after = this.editor.getSelection().getEndPosition();
|
|
703
|
+
const after = reverse ? this.editor.getSelection().getStartPosition() : this.editor.getSelection().getEndPosition();
|
|
702
704
|
const sortedWidgets = this._commentWidgets.sort((a, b) => {
|
|
703
705
|
if (reverse) {
|
|
704
706
|
const temp = a;
|
|
@@ -817,7 +819,8 @@ let CommentController = class CommentController {
|
|
|
817
819
|
const pendingCommentText = (this._pendingNewCommentCache[uniqueOwner] && this._pendingNewCommentCache[uniqueOwner][thread.threadId])
|
|
818
820
|
?? continueOnCommentText;
|
|
819
821
|
const pendingEdits = this._pendingEditsCache[uniqueOwner] && this._pendingEditsCache[uniqueOwner][thread.threadId];
|
|
820
|
-
const
|
|
822
|
+
const isThreadTemplateOrEmpty = (thread.isTemplate || (!thread.comments || (thread.comments.length === 0)));
|
|
823
|
+
const shouldReveal = thread.canReply && isThreadTemplateOrEmpty && (!thread.editorId || (thread.editorId === editorId));
|
|
821
824
|
await this.displayCommentThread(uniqueOwner, thread, shouldReveal, pendingCommentText, pendingEdits);
|
|
822
825
|
this._commentInfos.filter(info => info.uniqueOwner === uniqueOwner)[0].threads.push(thread);
|
|
823
826
|
this.tryUpdateReservedSpace();
|
|
@@ -243,7 +243,7 @@ let CommentNodeRenderer = class CommentNodeRenderer {
|
|
|
243
243
|
const renderedComment = this.getRenderedComment(originalComment.comment.body, disposables);
|
|
244
244
|
templateData.disposables.push(renderedComment);
|
|
245
245
|
templateData.threadMetadata.commentPreview.appendChild(renderedComment.element.firstElementChild ?? renderedComment.element);
|
|
246
|
-
templateData.disposables.push(this.hoverService.
|
|
246
|
+
templateData.disposables.push(this.hoverService.setupManagedHover(getDefaultHoverDelegate('mouse'), templateData.threadMetadata.commentPreview, renderedComment.element.textContent ?? ''));
|
|
247
247
|
}
|
|
248
248
|
if (node.element.range) {
|
|
249
249
|
if (node.element.range.startLineNumber === node.element.range.endLineNumber) {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import n from '../../../../../../../../external/rollup-plugin-styles/dist/runtime/inject-css.js';
|
|
2
|
-
var css = ".comments-panel .comments-panel-container{height:100%}.comments-panel .comments-panel-container .hidden{display:none}.comments-panel .comments-panel-container .tree-container{height:100%}.comments-panel .comments-panel-container .tree-container.hidden{display:none;visibility:hidden}.comments-panel .comments-panel-container .tree-container .comment-thread-container{display:block}.comments-panel .comments-panel-container .tree-container .comment-thread-container div{overflow:hidden}.comments-panel .comments-panel-container .tree-container .comment-thread-container .comment-metadata-container,.comments-panel .comments-panel-container .tree-container .comment-thread-container .comment-snippet-container,.comments-panel .comments-panel-container .tree-container .resource-container{display:flex;overflow:hidden;text-overflow:ellipsis}.comments-panel .comments-panel-container .tree-container .comment-thread-container .comment-metadata{display:flex;flex:1}.comments-panel .count,.comments-panel .user{padding-right:5px}.comments-panel .comments-panel-container .tree-container .comment-thread-container .icon{min-width:fit-content;padding-right:5px;padding-top:4px}.comments-panel .comments-panel-container .tree-container .comment-thread-container .comment-metadata-container .relevance,.comments-panel .comments-panel-container .tree-container .comment-thread-container .comment-metadata-container .user,.comments-panel .comments-panel-container .tree-container .comment-thread-container .comment-snippet-container .count{min-width:fit-content}.comments-panel .comments-panel-container .tree-container .comment-thread-container .comment-metadata-container .relevance{background-color:var(--vscode-badge-background);border-radius:2px;color:var(--vscode-badge-foreground);font-size:.9em;line-height:14px;margin-bottom:3px;margin-right:4px;margin-top:4px;padding:0 4px 1px}.comments-panel .comments-panel-container .tree-container .comment-thread-container .comment-snippet-container .text{display:flex;flex:1;min-width:0}.comments-panel .comments-panel-container .tree-container .comment-thread-container .reply-detail,.comments-panel .comments-panel-container .tree-container .comment-thread-container .timestamp,.comments-panel .comments-panel-container .tree-container .resource-container .owner{display:block;font-size:.9em;opacity:.8;overflow:hidden;padding-right:5px;text-overflow:ellipsis}.comments-panel .comments-panel-container .tree-container .comment-thread-container .text *{margin:0;
|
|
2
|
+
var css = ".comments-panel .comments-panel-container{height:100%}.comments-panel .comments-panel-container .hidden{display:none}.comments-panel .comments-panel-container .tree-container{height:100%}.comments-panel .comments-panel-container .tree-container.hidden{display:none;visibility:hidden}.comments-panel .comments-panel-container .tree-container .comment-thread-container{display:block}.comments-panel .comments-panel-container .tree-container .comment-thread-container div{overflow:hidden}.comments-panel .comments-panel-container .tree-container .comment-thread-container .comment-metadata-container,.comments-panel .comments-panel-container .tree-container .comment-thread-container .comment-snippet-container,.comments-panel .comments-panel-container .tree-container .resource-container{display:flex;overflow:hidden;text-overflow:ellipsis}.comments-panel .comments-panel-container .tree-container .comment-thread-container .comment-metadata{display:flex;flex:1}.comments-panel .count,.comments-panel .user{padding-right:5px}.comments-panel .comments-panel-container .tree-container .comment-thread-container .icon{min-width:fit-content;padding-right:5px;padding-top:4px}.comments-panel .comments-panel-container .tree-container .comment-thread-container .comment-metadata-container .relevance,.comments-panel .comments-panel-container .tree-container .comment-thread-container .comment-metadata-container .user,.comments-panel .comments-panel-container .tree-container .comment-thread-container .comment-snippet-container .count{min-width:fit-content}.comments-panel .comments-panel-container .tree-container .comment-thread-container .comment-metadata-container .relevance{background-color:var(--vscode-badge-background);border-radius:2px;color:var(--vscode-badge-foreground);font-size:.9em;line-height:14px;margin-bottom:3px;margin-right:4px;margin-top:4px;padding:0 4px 1px}.comments-panel .comments-panel-container .tree-container .comment-thread-container .comment-snippet-container .text{display:flex;flex:1;min-width:0}.comments-panel .comments-panel-container .tree-container .comment-thread-container .reply-detail,.comments-panel .comments-panel-container .tree-container .comment-thread-container .timestamp,.comments-panel .comments-panel-container .tree-container .resource-container .owner{display:block;font-size:.9em;opacity:.8;overflow:hidden;padding-right:5px;text-overflow:ellipsis}.comments-panel .comments-panel-container .tree-container .comment-thread-container .text *{margin:0;overflow:hidden;padding-right:5px;text-overflow:ellipsis}.comments-panel .comments-panel-container .tree-container .comment-thread-container .comment-metadata .text *{max-width:700px}.comments-panel .comments-panel-container .tree-container .comment-thread-container .range{opacity:.8}.comments-panel .comments-panel-container .tree-container .comment-thread-container .comment-snippet-container .text code{font-family:var(--monaco-monospace-font)}.comments-panel .comments-panel-container .tree-container .monaco-icon-label{padding-right:5px}.comments-panel .comments-panel-container .tree-container .separator{opacity:.8;padding-right:5px}.comments-panel .comments-panel-container .message-box-container{height:inherit;line-height:22px;padding-left:20px}.comments-panel .comments-panel-container .tree-container .count-badge-wrapper{margin-left:10px}.comments-panel .comments-panel-container .tree-container .comment-thread-container .comment-metadata-container,.comments-panel .comments-panel-container .tree-container .comment-thread-container .comment-snippet-container{line-height:22px;margin-right:5px}.comments-panel .comments-panel-container .tree-container .comment-thread-container .comment-snippet-container{padding-left:16px}.comments-panel .hide{display:none}.comments-panel .comments-panel-container .text a{color:var(--vscode-textLink-foreground)}.comments-panel .comments-panel-container .text a:hover,.comments-panel .comments-panel-container a:active{color:var(--vscode-textLink-activeForeground)}.comments-panel .comments-panel-container .text a:focus{outline-color:var(--vscode-focusBorder)}.comments-panel .comments-panel-container .text code{color:var(--vscode-textPreformat-foreground)}.comments-panel .comments-panel-container .actions{display:none}.comments-panel .comments-panel-container .actions .action-label{padding:2px}.comments-panel .monaco-list .monaco-list-row.focused .comment-metadata-container .actions,.comments-panel .monaco-list .monaco-list-row.selected .comment-metadata-container .actions,.comments-panel .monaco-list .monaco-list-row:hover .comment-metadata-container .actions{display:block}";
|
|
3
3
|
n(css,{});
|
|
4
4
|
export { css, css as default };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import n from '../../../../../../../../external/rollup-plugin-styles/dist/runtime/inject-css.js';
|
|
2
|
-
var css = ".review-widget{position:absolute;width:100%}.monaco-editor .review-widget{background-color:var(--vscode-peekViewResult-background)}.review-widget .hidden{display:none!important}.review-widget .body{overflow:hidden}.review-widget .body .review-comment{display:flex;padding:8px 16px 8px 20px}@keyframes monaco-review-widget-focus{0%{background:var(--vscode-peekViewResult-selectionBackground)}to{background:transparent}}.review-widget .body .review-comment.focus{animation:monaco-review-widget-focus 3s ease 0s}.review-widget .body .review-comment .comment-actions{margin-left:auto}.review-widget .body .review-comment .comment-actions .monaco-toolbar{height:22px}.review-widget .body .review-comment .comment-title .comment-header-info{overflow:hidden;text-overflow:ellipsis}.review-widget .body .review-comment .comment-title{display:flex;width:100%}.review-widget .body .review-comment .comment-title .action-label.codicon{line-height:18px}.review-widget .body .review-comment .comment-title .monaco-dropdown .toolbar-toggle-more{height:18px;line-height:18px;vertical-align:middle;width:16px}.review-widget .body .comment-body blockquote{border-left-style:solid;border-left-width:5px;margin:0 7px 0 5px;padding:0 16px 0 10px}.review-widget .body .review-comment .avatar-container{margin-top:4px!important}.review-widget .body .review-comment .avatar-container img.avatar{border-radius:3px;border-style:none;display:inline-block;height:28px;line-height:1;overflow:hidden;vertical-align:middle;width:28px}.review-widget .body .comment-reactions .monaco-text-button{background-color:transparent;border:1px solid grey;border-radius:3px;margin:0 7px 0 0;width:30px}.review-widget .body .review-comment .review-comment-contents{overflow:hidden;padding-left:20px;user-select:text;-webkit-user-select:text;width:100%}.review-widget .body pre{word-wrap:normal;overflow:auto;white-space:pre}.review-widget .body .review-comment .review-comment-contents .author{line-height:22px}.review-widget .body .review-comment .review-comment-contents .isPending{font-style:italic;line-height:22px;margin:0 5px;padding:0 2px}.review-widget .body .review-comment .review-comment-contents .timestamp{line-height:22px;margin:0 5px;padding:0 2px}.review-widget .body .review-comment .review-comment-contents .comment-body .comment-body-plainstring{white-space:pre-wrap}.review-widget .body .review-comment .review-comment-contents .comment-body{padding-top:4px}.review-widget .body .review-comment .review-comment-contents .comment-body-max-height{max-height:20em}.review-widget .body .review-comment .review-comment-contents .comment-reactions{margin-top:8px;min-height:25px}.review-widget .body .review-comment .review-comment-contents .comment-reactions .action-item .action-label{display:flex;font-size:12px;padding:1px 4px;text-align:center;white-space:pre}.review-widget .body .review-comment .review-comment-contents .comment-reactions .action-item .action-label .reaction-icon{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-position:0;background-repeat:no-repeat;background-size:14px;display:inline-block;margin-right:4px;width:14px}.review-widget .body .review-comment .review-comment-contents .comment-reactions .action-item .action-label .reaction-label{line-height:20px;margin-right:4px}.review-widget .body .review-comment .review-comment-contents .comment-reactions .action-item a.action-label.toolbar-toggle-pickReactions{background-position:50%;background-repeat:no-repeat;background-size:16px;border:none;display:none;font-size:16px;height:16px;margin-top:3px;width:26px}.review-widget .body .review-comment .review-comment-contents .comment-reactions:hover .action-item a.action-label.toolbar-toggle-pickReactions{background-size:16px;display:inline-block}.review-widget .body .review-comment .comment-title .action-label{background-position:50%;background-repeat:no-repeat;background-size:16px;display:block;height:16px;line-height:16px}.review-widget .body .review-comment .review-comment-contents .comment-reactions .action-item a.action-label{border:1px solid}.review-widget .body .review-comment .review-comment-contents .comment-reactions .action-item a.action-label.disabled{opacity:.6}.review-widget .body .review-comment .review-comment-contents .comment-reactions .action-item a.action-label.active:hover{background-color:var(--vscode-statusBarItem-hoverBackground)}.review-widget .body .review-comment .review-comment-contents .comment-reactions .action-item a.action-label:active{background-color:var(--vscode-statusBarItem-activeBackground);border:1px solid transparent}.review-widget .body .review-comment .review-comment-contents a{cursor:pointer}.review-widget .body .comment-body p,.review-widget .body .comment-body ul{margin:8px 0}.review-widget .body .comment-body p:first-child,.review-widget .body .comment-body ul:first-child{margin-top:0}.review-widget .body .comment-body p:last-child,.review-widget .body.comment-body ul:last-child{margin-bottom:0}.review-widget .body .comment-body ul{padding-left:20px}.review-widget .body .comment-body li>p{margin-bottom:0}.review-widget .body .comment-body li>ul{margin-top:0}.review-widget .body .comment-body code{border-radius:3px;padding:0 .4em}.review-widget .body .comment-body span{white-space:pre}.review-widget .body .comment-body img{max-width:100%}.review-widget .body .comment-form{margin:8px 20px}.review-widget .validation-error{word-wrap:break-word;box-sizing:border-box;display:inline-block;font-size:12px;line-height:17px;margin-left:-1px;margin-top:-1px;min-height:34px;overflow:hidden;padding:.4em;text-align:left;width:100%}.review-widget .body .comment-additional-actions{margin:10px 20px}.review-widget .body .comment-additional-actions .section-separator{border-top:1px solid var(--vscode-menu-separatorBackground);margin:10px 0 14px}.review-widget .body .comment-additional-actions .button-bar{display:flex;white-space:nowrap}.review-widget .body .comment-additional-actions .monaco-button,.review-widget .body .comment-additional-actions .monaco-button-dropdown,.review-widget .body .comment-additional-actions .monaco-text-button{display:flex;width:auto}.review-widget .body .comment-additional-actions .button-bar>.monaco-button-dropdown,.review-widget .body .comment-additional-actions .button-bar>.monaco-text-button{margin:0 10px 0 0}.review-widget .body .comment-additional-actions .button-bar .monaco-text-button{padding:4px 10px}.review-widget .body .comment-additional-actions .codicon-drop-down-button{align-items:center}.review-widget .body .monaco-editor{color:var(--vscode-editor-foreground)}.review-widget .body .comment-form.expand .review-thread-reply-button{display:none}.review-widget .body .comment-form.expand .form-actions,.review-widget .body .comment-form.expand .monaco-editor{box-sizing:content-box;display:block}.review-widget .body .comment-form .review-thread-reply-button{background-color:var(--vscode-editorCommentsWidget-replyInputBackground);border:0;border-radius:0;box-sizing:border-box;color:var(--vscode-editor-foreground);display:block;font-family:var(--monaco-monospace-font);font-size:inherit;font-weight:600;line-height:20px;outline:1px solid transparent;padding:6px 12px;resize:vertical;text-align:left;white-space:nowrap;width:100%}.review-widget .body .comment-form .review-thread-reply-button:focus{outline-style:solid;outline-width:1px}.review-widget .body .comment-form .monaco-editor,.review-widget .body .comment-form .monaco-editor .monaco-editor-background,.review-widget .body .edit-container .monaco-editor .monaco-editor-background{background-color:var(--vscode-editorCommentsWidget-replyInputBackground)}.review-widget .body .comment-form .monaco-editor,.review-widget .body .edit-container .monaco-editor{border:0;border-radius:3px;box-sizing:content-box;max-height:500px;min-height:90px;padding:6px 0 6px 12px;width:100%}.review-widget .body .comment-form .form-actions,.review-widget .body .comment-form .monaco-editor{display:none}.review-widget .body .comment-form .form-actions,.review-widget .body .edit-container .form-actions{margin:10px 0;overflow:auto}.review-widget .body .edit-container .form-actions{padding-top:10px}.review-widget .body .edit-textarea{margin:5px 12px 10px 0}.review-widget .body .comment-form .form-actions .monaco-text-button,.review-widget .body .edit-container .monaco-text-button{margin-left:5px;padding:4px 10px;width:auto}.review-widget .body .form-actions .monaco-text-button{float:right}.review-widget .head{box-sizing:border-box;display:flex;height:100%}.review-widget .head .review-title{cursor:default;display:inline-block;font-size:13px;margin-left:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.review-widget .head .review-title .dirname:not(:empty){font-size:.9em;margin-left:.5em}.review-widget .head .review-actions{flex:1;padding-right:2px;text-align:right}.review-widget .head .review-actions>.monaco-action-bar{display:inline-block}.review-widget .head .review-actions>.monaco-action-bar,.review-widget .head .review-actions>.monaco-action-bar>.actions-container{height:100%}.review-widget .action-item{margin-left:4px;min-height:20px;min-width:18px}.review-widget .head .review-actions>.monaco-action-bar .action-label{background-position:50%;background-repeat:no-repeat;line-height:inherit;margin:0}.review-widget .head .review-actions>.monaco-action-bar .action-label.codicon{margin:0}.review-widget>.body{border-top:1px solid;position:relative}.monaco-editor .comment-range-glyph{cursor:pointer;margin-left:10px;width:4px!important;z-index:10}div.preview.inline .monaco-editor .comment-range-glyph{display:none!important}.monaco-editor .comment-diff-added{border-left-style:solid;border-left-width:3px}.monaco-editor .comment-diff-added,.monaco-editor .comment-range-glyph.multiline-add{border-left-color:var(--vscode-editorGutter-commentRangeForeground)}.monaco-editor .comment-diff-added:before,.monaco-editor .comment-range-glyph.line-hover:before,.monaco-editor .comment-thread-unresolved:before,.monaco-editor .comment-thread:before{background:var(--vscode-editorGutter-commentRangeForeground)}.monaco-editor .comment-thread-range{background-color:var(--vscode-editorCommentsWidget-rangeBackground)}.monaco-editor .comment-thread-range-current{background-color:var(--vscode-editorCommentsWidget-rangeActiveBackground)}.monaco-editor .margin-view-overlays .comment-range-glyph.comment-thread,.monaco-editor .margin-view-overlays .comment-range-glyph.comment-thread-unresolved,.monaco-editor .margin-view-overlays .comment-range-glyph.line-hover{margin-left:13px}.monaco-editor .comment-range-glyph.comment-thread-unresolved:before,.monaco-editor .comment-range-glyph.comment-thread:before,.monaco-editor .margin-view-overlays .comment-range-glyph.line-hover:before,.monaco-editor .margin-view-overlays>div:hover>.comment-range-glyph.comment-diff-added:before{align-items:center;color:var(--vscode-editorGutter-commentGlyphForeground);display:flex;flex-direction:row;height:100%;justify-content:center;left:-6px;position:absolute;text-align:center;width:9px;z-index:10}.monaco-editor .comment-range-glyph.comment-thread-unresolved:before{color:var(--vscode-editorGutter-commentUnresolvedGlyphForeground)}.monaco-editor .margin-view-overlays .comment-range-glyph.multiline-add{border-left-style:dotted;border-left-width:3px;height:16px;margin-top:2px}.monaco-editor .margin-view-overlays .comment-range-glyph.line-hover:before,.monaco-editor .margin-view-overlays>div:hover>.comment-range-glyph.comment-diff-added:before{border-radius:3px;content:var(--vscode-icon-plus-content);font-family:var(--vscode-icon-plus-font-family);font-family:codicon;margin-left:-5px;padding-left:1px;width:18px!important}.monaco-editor .comment-range-glyph.comment-thread,.monaco-editor .comment-range-glyph.comment-thread-unresolved{z-index:20}.monaco-editor .comment-range-glyph.comment-thread-unresolved:before,.monaco-editor .comment-range-glyph.comment-thread:before{border-radius:3px;font-family:codicon;font-size:13px;line-height:100%;margin-left:-5px;padding-left:1px;padding-top:1px;width:18px!important;z-index:20}.monaco-editor .comment-range-glyph.comment-thread:before{content:var(--vscode-icon-comment-add-content);font-family:var(--vscode-icon-comment-add-font-family)}.monaco-editor .comment-range-glyph.comment-thread-unresolved:before{content:var(--vscode-icon-comment-unresolved-content);font-family:var(--vscode-icon-comment-unresolved-font-family)}.monaco-editor.inline-comment .margin-view-overlays .codicon-folding-collapsed,.monaco-editor.inline-comment .margin-view-overlays .codicon-folding-expanded{margin-left:11px}.monaco-editor.inline-comment .margin-view-overlays .dirty-diff-glyph{margin-left:25px}";
|
|
2
|
+
var css = ".review-widget{position:absolute;width:100%}.monaco-editor .review-widget{background-color:var(--vscode-peekViewResult-background)}.review-widget .hidden{display:none!important}.review-widget .body{overflow:hidden}.review-widget .body .review-comment{display:flex;padding:8px 16px 8px 20px}@keyframes monaco-review-widget-focus{0%{background:var(--vscode-peekViewResult-selectionBackground)}to{background:transparent}}.review-widget .body .review-comment.focus{animation:monaco-review-widget-focus 3s ease 0s}.review-widget .body .review-comment .comment-actions{margin-left:auto}.review-widget .body .review-comment .comment-actions .monaco-toolbar{height:22px}.review-widget .body .review-comment .comment-title .comment-header-info{overflow:hidden;text-overflow:ellipsis}.review-widget .body .review-comment .comment-title{display:flex;width:100%}.review-widget .body .review-comment .comment-title .action-label.codicon{line-height:18px}.review-widget .body .review-comment .comment-title .monaco-dropdown .toolbar-toggle-more{height:18px;line-height:18px;vertical-align:middle;width:16px}.review-widget .body .comment-body blockquote{border-left-style:solid;border-left-width:5px;margin:0 7px 0 5px;padding:0 16px 0 10px}.review-widget .body .review-comment .avatar-container{margin-top:4px!important}.review-widget .body .review-comment .avatar-container img.avatar{border-radius:3px;border-style:none;display:inline-block;height:28px;line-height:1;overflow:hidden;vertical-align:middle;width:28px}.review-widget .body .comment-reactions .monaco-text-button{background-color:transparent;border:1px solid grey;border-radius:3px;margin:0 7px 0 0;width:30px}.review-widget .body .review-comment .review-comment-contents{overflow:hidden;padding-left:20px;user-select:text;-webkit-user-select:text;width:100%}.review-widget .body pre{word-wrap:normal;overflow:auto;white-space:pre}.review-widget .body .review-comment .review-comment-contents .author{line-height:22px}.review-widget .body .review-comment .review-comment-contents .isPending{font-style:italic;line-height:22px;margin:0 5px;padding:0 2px}.review-widget .body .review-comment .review-comment-contents .timestamp{line-height:22px;margin:0 5px;padding:0 2px}.review-widget .body .review-comment .review-comment-contents .comment-body .comment-body-plainstring{white-space:pre-wrap}.review-widget .body .review-comment .review-comment-contents .comment-body{padding-top:4px}.review-widget .body .review-comment .review-comment-contents .comment-body-max-height{max-height:20em}.review-widget .body .review-comment .review-comment-contents .comment-reactions{margin-top:8px;min-height:25px}.review-widget .body .review-comment .review-comment-contents .comment-reactions .action-item .action-label{display:flex;font-size:12px;padding:1px 4px;text-align:center;white-space:pre}.review-widget .body .review-comment .review-comment-contents .comment-reactions .action-item .action-label .reaction-icon{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-position:0;background-repeat:no-repeat;background-size:14px;display:inline-block;margin-right:4px;width:14px}.review-widget .body .review-comment .review-comment-contents .comment-reactions .action-item .action-label .reaction-label{line-height:20px;margin-right:4px}.review-widget .body .review-comment .review-comment-contents .comment-reactions .action-item a.action-label.toolbar-toggle-pickReactions{background-position:50%;background-repeat:no-repeat;background-size:16px;border:none;display:none;font-size:16px;height:16px;margin-top:3px;width:26px}.review-widget .body .review-comment .review-comment-contents .comment-reactions:hover .action-item a.action-label.toolbar-toggle-pickReactions{background-size:16px;display:inline-block}.review-widget .body .review-comment .comment-title .action-label{background-position:50%;background-repeat:no-repeat;background-size:16px;display:block;height:16px;line-height:16px}.review-widget .body .review-comment .review-comment-contents .comment-reactions .action-item a.action-label{border:1px solid}.review-widget .body .review-comment .review-comment-contents .comment-reactions .action-item a.action-label.disabled{opacity:.6}.review-widget .body .review-comment .review-comment-contents .comment-reactions .action-item a.action-label.active:hover{background-color:var(--vscode-statusBarItem-hoverBackground)}.review-widget .body .review-comment .review-comment-contents .comment-reactions .action-item a.action-label:active{background-color:var(--vscode-statusBarItem-activeBackground);border:1px solid transparent}.review-widget .body .review-comment .review-comment-contents a{cursor:pointer}.review-widget .body .comment-body p,.review-widget .body .comment-body ul{margin:8px 0}.review-widget .body .comment-body p:first-child,.review-widget .body .comment-body ul:first-child{margin-top:0}.review-widget .body .comment-body p:last-child,.review-widget .body.comment-body ul:last-child{margin-bottom:0}.review-widget .body .comment-body ul{padding-left:20px}.review-widget .body .comment-body li>p{margin-bottom:0}.review-widget .body .comment-body li>ul{margin-top:0}.review-widget .body .comment-body span{white-space:pre}.review-widget .body .comment-body img{max-width:100%}.review-widget .body .comment-form{margin:8px 20px}.review-widget .validation-error{word-wrap:break-word;box-sizing:border-box;display:inline-block;font-size:12px;line-height:17px;margin-left:-1px;margin-top:-1px;min-height:34px;overflow:hidden;padding:.4em;text-align:left;width:100%}.review-widget .body .comment-additional-actions{margin:10px 20px}.review-widget .body .comment-additional-actions .section-separator{border-top:1px solid var(--vscode-menu-separatorBackground);margin:10px 0 14px}.review-widget .body .comment-additional-actions .button-bar{display:flex;white-space:nowrap}.review-widget .body .comment-additional-actions .monaco-button,.review-widget .body .comment-additional-actions .monaco-button-dropdown,.review-widget .body .comment-additional-actions .monaco-text-button{display:flex;width:auto}.review-widget .body .comment-additional-actions .button-bar>.monaco-button-dropdown,.review-widget .body .comment-additional-actions .button-bar>.monaco-text-button{margin:0 10px 0 0}.review-widget .body .comment-additional-actions .button-bar .monaco-text-button{padding:4px 10px}.review-widget .body .comment-additional-actions .codicon-drop-down-button{align-items:center}.review-widget .body .monaco-editor{color:var(--vscode-editor-foreground)}.review-widget .body .comment-form.expand .review-thread-reply-button{display:none}.review-widget .body .comment-form.expand .form-actions,.review-widget .body .comment-form.expand .monaco-editor{box-sizing:content-box;display:block}.review-widget .body .comment-form .review-thread-reply-button{background-color:var(--vscode-editorCommentsWidget-replyInputBackground);border:0;border-radius:0;box-sizing:border-box;color:var(--vscode-editor-foreground);display:block;font-family:var(--monaco-monospace-font);font-size:inherit;font-weight:600;line-height:20px;outline:1px solid transparent;padding:6px 12px;resize:vertical;text-align:left;white-space:nowrap;width:100%}.review-widget .body .comment-form .review-thread-reply-button:focus{outline-style:solid;outline-width:1px}.review-widget .body .comment-form .monaco-editor,.review-widget .body .comment-form .monaco-editor .monaco-editor-background,.review-widget .body .edit-container .monaco-editor .monaco-editor-background{background-color:var(--vscode-editorCommentsWidget-replyInputBackground)}.review-widget .body .comment-form .monaco-editor,.review-widget .body .edit-container .monaco-editor{border:0;border-radius:3px;box-sizing:content-box;max-height:500px;min-height:90px;padding:6px 0 6px 12px;width:100%}.review-widget .body .comment-form .form-actions,.review-widget .body .comment-form .monaco-editor{display:none}.review-widget .body .comment-form .form-actions,.review-widget .body .edit-container .form-actions{margin:10px 0;overflow:auto}.review-widget .body .edit-container .form-actions{padding-top:10px}.review-widget .body .edit-textarea{margin:5px 12px 10px 0}.review-widget .body .comment-form .form-actions .monaco-text-button,.review-widget .body .edit-container .monaco-text-button{margin-left:5px;padding:4px 10px;width:auto}.review-widget .body .form-actions .monaco-text-button{float:right}.review-widget .head{box-sizing:border-box;display:flex;height:100%}.review-widget .head .review-title{cursor:default;display:inline-block;font-size:13px;margin-left:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.review-widget .head .review-title .dirname:not(:empty){font-size:.9em;margin-left:.5em}.review-widget .head .review-actions{flex:1;padding-right:2px;text-align:right}.review-widget .head .review-actions>.monaco-action-bar{display:inline-block}.review-widget .head .review-actions>.monaco-action-bar,.review-widget .head .review-actions>.monaco-action-bar>.actions-container{height:100%}.review-widget .action-item{margin-left:4px;min-height:20px;min-width:18px}.review-widget .head .review-actions>.monaco-action-bar .action-label{background-position:50%;background-repeat:no-repeat;line-height:inherit;margin:0}.review-widget .head .review-actions>.monaco-action-bar .action-label.codicon{margin:0}.review-widget>.body{border-top:1px solid;position:relative}.monaco-editor .comment-range-glyph{cursor:pointer;margin-left:10px;width:4px!important;z-index:10}div.preview.inline .monaco-editor .comment-range-glyph{display:none!important}.monaco-editor .comment-diff-added{border-left-style:solid;border-left-width:3px}.monaco-editor .comment-diff-added,.monaco-editor .comment-range-glyph.multiline-add{border-left-color:var(--vscode-editorGutter-commentRangeForeground)}.monaco-editor .comment-diff-added:before,.monaco-editor .comment-range-glyph.line-hover:before,.monaco-editor .comment-thread-unresolved:before,.monaco-editor .comment-thread:before{background:var(--vscode-editorGutter-commentRangeForeground)}.monaco-editor .comment-thread-range{background-color:var(--vscode-editorCommentsWidget-rangeBackground)}.monaco-editor .comment-thread-range-current{background-color:var(--vscode-editorCommentsWidget-rangeActiveBackground)}.monaco-editor .margin-view-overlays .comment-range-glyph.comment-thread,.monaco-editor .margin-view-overlays .comment-range-glyph.comment-thread-unresolved,.monaco-editor .margin-view-overlays .comment-range-glyph.line-hover{margin-left:13px}.monaco-editor .comment-range-glyph.comment-thread-unresolved:before,.monaco-editor .comment-range-glyph.comment-thread:before,.monaco-editor .margin-view-overlays .comment-range-glyph.line-hover:before,.monaco-editor .margin-view-overlays>div:hover>.comment-range-glyph.comment-diff-added:before{align-items:center;color:var(--vscode-editorGutter-commentGlyphForeground);display:flex;flex-direction:row;height:100%;justify-content:center;left:-6px;position:absolute;text-align:center;width:9px;z-index:10}.monaco-editor .comment-range-glyph.comment-thread-unresolved:before{color:var(--vscode-editorGutter-commentUnresolvedGlyphForeground)}.monaco-editor .margin-view-overlays .comment-range-glyph.multiline-add{border-left-style:dotted;border-left-width:3px;height:16px;margin-top:2px}.monaco-editor .margin-view-overlays .comment-range-glyph.line-hover:before,.monaco-editor .margin-view-overlays>div:hover>.comment-range-glyph.comment-diff-added:before{border-radius:3px;content:var(--vscode-icon-plus-content);font-family:var(--vscode-icon-plus-font-family);font-family:codicon;margin-left:-5px;padding-left:1px;width:18px!important}.monaco-editor .comment-range-glyph.comment-thread,.monaco-editor .comment-range-glyph.comment-thread-unresolved{z-index:20}.monaco-editor .comment-range-glyph.comment-thread-unresolved:before,.monaco-editor .comment-range-glyph.comment-thread:before{border-radius:3px;font-family:codicon;font-size:13px;line-height:100%;margin-left:-5px;padding-left:1px;padding-top:1px;width:18px!important;z-index:20}.monaco-editor .comment-range-glyph.comment-thread:before{content:var(--vscode-icon-comment-add-content);font-family:var(--vscode-icon-comment-add-font-family)}.monaco-editor .comment-range-glyph.comment-thread-unresolved:before{content:var(--vscode-icon-comment-unresolved-content);font-family:var(--vscode-icon-comment-unresolved-font-family)}.monaco-editor.inline-comment .margin-view-overlays .codicon-folding-collapsed,.monaco-editor.inline-comment .margin-view-overlays .codicon-folding-expanded{margin-left:11px}.monaco-editor.inline-comment .margin-view-overlays .dirty-diff-glyph{margin-left:25px}";
|
|
3
3
|
n(css,{});
|
|
4
4
|
export { css, css as default };
|
|
@@ -11,7 +11,7 @@ class TimestampWidget extends Disposable {
|
|
|
11
11
|
this._date = append(container, $('span.timestamp'));
|
|
12
12
|
this._date.style.display = 'none';
|
|
13
13
|
this._useRelativeTime = this.useRelativeTimeSetting;
|
|
14
|
-
this.hover = this._register(hoverService.
|
|
14
|
+
this.hover = this._register(hoverService.setupManagedHover(getDefaultHoverDelegate('mouse'), this._date, ''));
|
|
15
15
|
this.setTimestamp(timeStamp);
|
|
16
16
|
}
|
|
17
17
|
get useRelativeTimeSetting() {
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import { __decorate, __param } from '../../../../../../../external/tslib/tslib.es6.js';
|
|
2
|
-
import {
|
|
2
|
+
import { Disposable } from '../../../../base/common/lifecycle.js';
|
|
3
3
|
import { IContextMenuService } from '../../../../platform/contextview/browser/contextView.service.js';
|
|
4
4
|
import { ILayoutService } from '../../../../platform/layout/browser/layoutService.service.js';
|
|
5
5
|
import { Registry } from '../../../../platform/registry/common/platform.js';
|
|
6
6
|
import { Extensions } from '../../../common/contributions.js';
|
|
7
7
|
import { LifecyclePhase } from '../../../services/lifecycle/common/lifecycle.js';
|
|
8
|
-
let ContextMenuContribution = class ContextMenuContribution {
|
|
8
|
+
let ContextMenuContribution = class ContextMenuContribution extends Disposable {
|
|
9
9
|
constructor(layoutService, contextMenuService) {
|
|
10
|
-
|
|
10
|
+
super();
|
|
11
11
|
const update = (visible) => layoutService.activeContainer.classList.toggle('context-menu-visible', visible);
|
|
12
|
-
contextMenuService.onDidShowContextMenu(() => update(true)
|
|
13
|
-
contextMenuService.onDidHideContextMenu(() => update(false)
|
|
12
|
+
this._register(contextMenuService.onDidShowContextMenu(() => update(true)));
|
|
13
|
+
this._register(contextMenuService.onDidHideContextMenu(() => update(false)));
|
|
14
14
|
}
|
|
15
15
|
};
|
|
16
16
|
ContextMenuContribution = ( __decorate([
|