@codingame/monaco-vscode-katex-common 26.2.2 → 27.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +2 -2
- package/vscode/src/vs/platform/actionWidget/browser/actionWidgetDropdown.d.ts +10 -4
- package/vscode/src/vs/platform/actionWidget/browser/actionWidgetDropdown.js +35 -11
- package/vscode/src/vs/platform/actions/browser/buttonbar.d.ts +3 -0
- package/vscode/src/vs/platform/actions/browser/buttonbar.js +15 -4
- package/vscode/src/vs/platform/mcp/common/modelContextProtocolApps.d.ts +548 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityProvider.js +15 -15
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContinueInAction.d.ts +5 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContinueInAction.js +168 -15
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatElicitationActions.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatExecuteActions.js +67 -51
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatTitleActions.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatTitleActions.js +12 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionHoverWidget.js +9 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsControl.d.ts +8 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsControl.js +42 -19
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsFilter.d.ts +12 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsFilter.js +63 -40
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsOpener.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsViewer.d.ts +7 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsViewer.js +77 -73
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/media/agentsessionsviewer.css +69 -32
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentWidgets.d.ts +23 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentWidgets.js +381 -83
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatImplicitContext.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatImplicitContext.js +28 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/implicitContextAttachment.js +38 -19
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingActions.js +109 -113
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.js +16 -15
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationWidget.js +14 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessionPickerActionItem.js +2 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessions.contribution.d.ts +28 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessions.contribution.js +226 -123
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/searchableOptionPickerActionItem.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewWelcomeController.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatAgentHover.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAgentCommandContentPart.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAnonymousRateLimitedPart.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAttachmentsContentPart.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAttachmentsContentPart.js +9 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatChangesSummaryPart.d.ts +1 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatChangesSummaryPart.js +7 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCodeCitationContentPart.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCollapsibleContentPart.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCollapsibleContentPart.js +22 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCollapsibleMarkdownContentPart.d.ts +2 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCollapsibleMarkdownContentPart.js +11 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCommandContentPart.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatConfirmationContentPart.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatConfirmationWidget.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatDiffBlockPart.d.ts +0 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatDiffBlockPart.js +0 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatDisabledClaudeHooksContentPart.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatErrorConfirmationPart.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatErrorConfirmationPart.js +6 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatExtensionsContentPart.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatHookContentPart.d.ts +2 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatHookContentPart.js +5 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatInlineAnchorWidget.d.ts +0 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatInlineAnchorWidget.js +26 -27
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownContentPart.d.ts +3 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownContentPart.js +51 -20
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMcpServersInteractionContentPart.js +8 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMultiDiffContentPart.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatProgressContentPart.d.ts +2 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatProgressContentPart.js +20 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatPullRequestContentPart.d.ts +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatPullRequestContentPart.js +11 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuestionCarouselPart.d.ts +36 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuestionCarouselPart.js +166 -45
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuotaExceededPart.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatReferencesContentPart.d.ts +3 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatReferencesContentPart.js +16 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSubagentContentPart.d.ts +14 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSubagentContentPart.js +98 -26
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSuggestNextWidget.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTaskContentPart.js +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTextEditContentPart.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatThinkingContentPart.d.ts +10 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatThinkingContentPart.js +241 -78
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTipContentPart.d.ts +29 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTipContentPart.js +252 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTodoListWidget.d.ts +4 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTodoListWidget.js +39 -18
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatToolInputOutputContentPart.d.ts +5 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatToolInputOutputContentPart.js +36 -23
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatToolOutputContentSubPart.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTreeContentPart.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatWorkspaceEditContentPart.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/codeBlockPart.d.ts +5 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/codeBlockPart.js +42 -37
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatCodeBlockPill.css +12 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatConfirmationWidget.css +48 -18
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatHookContentPart.css +9 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatInlineAnchorWidget.css +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatQuestionCarousel.css +351 -422
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatTerminalToolProgressPart.css +14 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatThinkingContent.css +102 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatTipContent.css +69 -19
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/codeBlockPart.css +48 -15
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/abstractToolConfirmationSubPart.d.ts +4 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/abstractToolConfirmationSubPart.js +47 -23
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatExtensionsInstallToolSubPart.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatInputOutputMarkdownProgressPart.d.ts +0 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatInputOutputMarkdownProgressPart.js +0 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMcpAppModel.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMcpAppSubPart.js +7 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatSimpleToolProgressPart.d.ts +18 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatSimpleToolProgressPart.js +103 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolConfirmationSubPart.js +15 -18
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolProgressPart.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolProgressPart.js +61 -66
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolConfirmationSubPart.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolConfirmationSubPart.js +7 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolInvocationPart.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolInvocationPart.js +41 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolOutputPart.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolPartUtilities.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolPostExecuteConfirmationPart.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolPostExecuteConfirmationPart.js +6 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolProgressPart.js +13 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolStreamingSubPart.js +2 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatDragAndDrop.js +11 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListRenderer.d.ts +17 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListRenderer.js +310 -79
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListWidget.d.ts +6 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListWidget.js +13 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatQuestionCarouselAutoReply.d.ts +35 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatQuestionCarouselAutoReply.js +441 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidget.d.ts +24 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidget.js +392 -86
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatFollowups.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPart.d.ts +52 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPart.js +271 -187
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelPicker.d.ts +68 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelPicker.js +668 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/delegationSessionPickerActionItem.d.ts +12 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/delegationSessionPickerActionItem.js +57 -16
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modePickerActionItem.d.ts +2 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modePickerActionItem.js +78 -45
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modelPickerActionItem.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modelPickerActionItem2.d.ts +28 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modelPickerActionItem2.js +86 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/sessionTargetPickerActionItem.js +9 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/workspacePickerActionItem.js +4 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/media/chat.css +393 -134
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/media/chatViewWelcome.css +36 -17
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageDetails.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageDetails.js +20 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageWidget.d.ts +25 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageWidget.js +141 -79
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/media/chatContextUsageWidget.css +18 -13
- package/vscode/src/vs/workbench/contrib/chat/common/widget/annotations.d.ts +7 -0
- package/vscode/src/vs/workbench/contrib/chat/common/widget/annotations.js +108 -27
- package/vscode/src/vs/workbench/contrib/chat/common/widget/chatColors.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/common/widget/chatColors.js +20 -14
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatAffordance.d.ts +4 -6
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatAffordance.js +74 -32
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatController.d.ts +11 -2
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatController.js +68 -27
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatEditorAffordance.d.ts +5 -0
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatEditorAffordance.js +125 -13
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatGutterAffordance.d.ts +8 -11
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatGutterAffordance.js +54 -45
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatOverlayWidget.d.ts +11 -10
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatOverlayWidget.js +172 -112
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatWidget.js +5 -5
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatZoneWidget.js +1 -1
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/media/inlineChat.css +0 -42
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/media/inlineChatEditorAffordance.css +27 -3
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/media/inlineChatOverlayWidget.css +83 -2
- package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.d.ts +8 -1
- package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.js +58 -33
- package/vscode/src/vs/workbench/contrib/interactive/browser/replInputHintContentWidget.js +3 -3
- package/vscode/src/vs/workbench/contrib/mcp/common/modelContextProtocolApps.d.ts +1 -548
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/cellStatusBar/executionStatusBarItemController.js +7 -7
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindWidget.js +2 -2
- package/vscode/src/vs/workbench/contrib/replNotebook/browser/replEditor.js +1 -1
- package/vscode/src/vs/workbench/contrib/replNotebook/browser/replEditorInput.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modelPickerActionItem.js +0 -187
- /package/vscode/src/vs/{workbench/contrib → platform}/mcp/common/modelContextProtocolApps.js +0 -0
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
|
|
2
2
|
import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
|
|
3
|
-
import { h, createElement } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/dom';
|
|
3
|
+
import { h, createElement, $ } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/dom';
|
|
4
4
|
import { ButtonWithIcon } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/button/button';
|
|
5
|
-
import { HoverStyle } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/hover/hover';
|
|
6
5
|
import { Codicon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/codicons';
|
|
7
|
-
import { Emitter } from '@codingame/monaco-vscode-api/vscode/vs/base/common/event';
|
|
8
6
|
import { Disposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
|
|
9
7
|
import '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/index';
|
|
10
8
|
import { ThemeIcon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/themables';
|
|
@@ -12,11 +10,16 @@ import { ILanguageService } from '@codingame/monaco-vscode-api/vscode/vs/editor/
|
|
|
12
10
|
import { IModelService } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/services/model.service';
|
|
13
11
|
import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
|
|
14
12
|
import { IContextKeyService } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey.service';
|
|
13
|
+
import { IConfigurationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service';
|
|
15
14
|
import { IHoverService } from '@codingame/monaco-vscode-api/vscode/vs/platform/hover/browser/hover.service';
|
|
15
|
+
import { observableConfigValue } from '@codingame/monaco-vscode-api/vscode/vs/platform/observable/common/platformObservableUtils';
|
|
16
16
|
import { IInstantiationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
|
|
17
17
|
import { LanguageModelPartAudience } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModels';
|
|
18
|
+
import { AccessibilityWorkbenchSettingId } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/accessibility/browser/accessibilityConfiguration';
|
|
18
19
|
import { ChatQueryTitlePart } from './chatConfirmationWidget.js';
|
|
19
20
|
import { ChatToolOutputContentSubPart } from './chatToolOutputContentSubPart.js';
|
|
21
|
+
import { renderFileWidgets } from './chatInlineAnchorWidget.js';
|
|
22
|
+
import { IChatMarkdownAnchorService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownAnchorService.service';
|
|
20
23
|
import { observableValue } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/observableValue';
|
|
21
24
|
import { autorun } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/reactions/autorun';
|
|
22
25
|
|
|
@@ -47,7 +50,9 @@ let ChatCollapsibleInputOutputContentPart = class ChatCollapsibleInputOutputCont
|
|
|
47
50
|
_instantiationService,
|
|
48
51
|
hoverService,
|
|
49
52
|
modelService,
|
|
50
|
-
languageService
|
|
53
|
+
languageService,
|
|
54
|
+
chatMarkdownAnchorService,
|
|
55
|
+
configurationService
|
|
51
56
|
) {
|
|
52
57
|
super();
|
|
53
58
|
this.context = context;
|
|
@@ -57,8 +62,8 @@ let ChatCollapsibleInputOutputContentPart = class ChatCollapsibleInputOutputCont
|
|
|
57
62
|
this._instantiationService = _instantiationService;
|
|
58
63
|
this.modelService = modelService;
|
|
59
64
|
this.languageService = languageService;
|
|
60
|
-
this.
|
|
61
|
-
this.
|
|
65
|
+
this.chatMarkdownAnchorService = chatMarkdownAnchorService;
|
|
66
|
+
this.configurationService = configurationService;
|
|
62
67
|
this._editorReferences = [];
|
|
63
68
|
this._contentInitialized = false;
|
|
64
69
|
const container = h(".chat-confirmation-widget-container");
|
|
@@ -69,33 +74,44 @@ let ChatCollapsibleInputOutputContentPart = class ChatCollapsibleInputOutputCont
|
|
|
69
74
|
this._titlePart = this._register(
|
|
70
75
|
_instantiationService.createInstance(ChatQueryTitlePart, titleEl.root, title, subtitle)
|
|
71
76
|
);
|
|
72
|
-
|
|
77
|
+
renderFileWidgets(
|
|
78
|
+
titleEl.root,
|
|
79
|
+
this._instantiationService,
|
|
80
|
+
this.chatMarkdownAnchorService,
|
|
81
|
+
this._store
|
|
82
|
+
);
|
|
73
83
|
const spacer = createElement("span");
|
|
74
84
|
spacer.style.flexGrow = "1";
|
|
75
85
|
const btn = this._register(( new ButtonWithIcon(elements.root, {})));
|
|
76
86
|
btn.element.classList.add("chat-confirmation-widget-title", "monaco-text-button");
|
|
77
87
|
btn.labelElement.append(titleEl.root);
|
|
78
|
-
const
|
|
79
|
-
|
|
88
|
+
const hoverChevron = $("span.chat-collapsible-hover-chevron.codicon.codicon-chevron-right");
|
|
89
|
+
hoverChevron.setAttribute("aria-hidden", "true");
|
|
90
|
+
btn.element.appendChild(hoverChevron);
|
|
91
|
+
const showCheckmarks = observableConfigValue(
|
|
92
|
+
AccessibilityWorkbenchSettingId.ShowChatCheckmarks,
|
|
93
|
+
false,
|
|
94
|
+
this.configurationService
|
|
80
95
|
);
|
|
81
|
-
if (progressTooltip) {
|
|
82
|
-
this._register(hoverService.setupDelayedHover(check.root, {
|
|
83
|
-
content: progressTooltip,
|
|
84
|
-
style: HoverStyle.Pointer
|
|
85
|
-
}));
|
|
86
|
-
}
|
|
87
96
|
const expanded = this._expanded = observableValue(this, initiallyExpanded);
|
|
88
97
|
this._register(autorun(r => {
|
|
89
98
|
const value = expanded.read(r);
|
|
90
|
-
|
|
99
|
+
const checkmarksEnabled = showCheckmarks.read(r);
|
|
91
100
|
elements.root.classList.toggle("collapsed", !value);
|
|
101
|
+
if (isError) {
|
|
102
|
+
btn.icon = Codicon.error;
|
|
103
|
+
} else {
|
|
104
|
+
btn.icon = output ? Codicon.check : ThemeIcon.modify(Codicon.loading, "spin");
|
|
105
|
+
}
|
|
106
|
+
container.root.classList.toggle("show-checkmarks", checkmarksEnabled);
|
|
107
|
+
hoverChevron.classList.toggle("codicon-chevron-right", !value);
|
|
108
|
+
hoverChevron.classList.toggle("codicon-chevron-down", value);
|
|
92
109
|
if (value && !this._contentInitialized) {
|
|
93
110
|
this._contentInitialized = true;
|
|
94
111
|
const messageContainer = h(".chat-confirmation-widget-message");
|
|
95
112
|
messageContainer.root.appendChild(this.createMessageContents());
|
|
96
113
|
elements.root.appendChild(messageContainer.root);
|
|
97
114
|
}
|
|
98
|
-
this._onDidChangeHeight.fire();
|
|
99
115
|
}));
|
|
100
116
|
const toggle = e => {
|
|
101
117
|
if (!e.defaultPrevented) {
|
|
@@ -129,13 +145,13 @@ let ChatCollapsibleInputOutputContentPart = class ChatCollapsibleInputOutputCont
|
|
|
129
145
|
input,
|
|
130
146
|
output
|
|
131
147
|
} = this;
|
|
132
|
-
contents.inputTitle.textContent = ( localize(
|
|
148
|
+
contents.inputTitle.textContent = ( localize(6534, "Input"));
|
|
133
149
|
this.addCodeBlock(input, contents.input);
|
|
134
150
|
if (!output) {
|
|
135
151
|
contents.output.remove();
|
|
136
152
|
contents.outputTitle.remove();
|
|
137
153
|
} else {
|
|
138
|
-
contents.outputTitle.textContent = ( localize(
|
|
154
|
+
contents.outputTitle.textContent = ( localize(6535, "Output"));
|
|
139
155
|
const outputSubPart = this._register(
|
|
140
156
|
this._instantiationService.createInstance(ChatToolOutputContentSubPart, this.context, output.parts)
|
|
141
157
|
);
|
|
@@ -163,9 +179,6 @@ let ChatCollapsibleInputOutputContentPart = class ChatCollapsibleInputOutputCont
|
|
|
163
179
|
};
|
|
164
180
|
const editorReference = this._register(this.context.editorPool.get());
|
|
165
181
|
editorReference.object.render(data, this.context.currentWidth.get() || 300);
|
|
166
|
-
this._register(
|
|
167
|
-
editorReference.object.onDidChangeContentHeight(() => this._onDidChangeHeight.fire())
|
|
168
|
-
);
|
|
169
182
|
container.appendChild(editorReference.object.element);
|
|
170
183
|
this._editorReferences.push(editorReference);
|
|
171
184
|
}
|
|
@@ -177,6 +190,6 @@ let ChatCollapsibleInputOutputContentPart = class ChatCollapsibleInputOutputCont
|
|
|
177
190
|
this._outputSubPart?.layout(width);
|
|
178
191
|
}
|
|
179
192
|
};
|
|
180
|
-
ChatCollapsibleInputOutputContentPart = ( __decorate([( __param(8, IContextKeyService)), ( __param(9, IInstantiationService)), ( __param(10, IHoverService)), ( __param(11, IModelService)), ( __param(12, ILanguageService))], ChatCollapsibleInputOutputContentPart));
|
|
193
|
+
ChatCollapsibleInputOutputContentPart = ( __decorate([( __param(8, IContextKeyService)), ( __param(9, IInstantiationService)), ( __param(10, IHoverService)), ( __param(11, IModelService)), ( __param(12, ILanguageService)), ( __param(13, IChatMarkdownAnchorService)), ( __param(14, IConfigurationService))], ChatCollapsibleInputOutputContentPart));
|
|
181
194
|
|
|
182
195
|
export { ChatCollapsibleInputOutputContentPart };
|
|
@@ -292,7 +292,7 @@ class SaveResourcesAction extends Action2 {
|
|
|
292
292
|
constructor() {
|
|
293
293
|
super({
|
|
294
294
|
id: SaveResourcesAction.ID,
|
|
295
|
-
title: ( localize2(
|
|
295
|
+
title: ( localize2(6536, "Save As...")),
|
|
296
296
|
icon: Codicon.cloudDownload,
|
|
297
297
|
menu: [{
|
|
298
298
|
id: MenuId.ChatToolOutputResourceToolbar,
|
|
@@ -322,14 +322,14 @@ class SaveResourcesAction extends Action2 {
|
|
|
322
322
|
await fileService.writeFile(target, contents.value);
|
|
323
323
|
}
|
|
324
324
|
} catch (e) {
|
|
325
|
-
notificationService.error(( localize(
|
|
325
|
+
notificationService.error(( localize(6537, "Failed to save {0}: {1}", basename(part.uri), e)));
|
|
326
326
|
}
|
|
327
327
|
};
|
|
328
328
|
const withProgress = async (thenReveal, todo) => {
|
|
329
329
|
await progressService.withProgress({
|
|
330
330
|
location: ProgressLocation.Notification,
|
|
331
331
|
delay: 5_000,
|
|
332
|
-
title: ( localize(
|
|
332
|
+
title: ( localize(6538, "Saving resources..."))
|
|
333
333
|
}, async report => {
|
|
334
334
|
for (const task of todo) {
|
|
335
335
|
await task();
|
|
@@ -342,7 +342,7 @@ class SaveResourcesAction extends Action2 {
|
|
|
342
342
|
if (workspaceContextService.isInsideWorkspace(thenReveal)) {
|
|
343
343
|
commandService.executeCommand(REVEAL_IN_EXPLORER_COMMAND_ID, thenReveal);
|
|
344
344
|
} else {
|
|
345
|
-
notificationService.info(( localize(
|
|
345
|
+
notificationService.info(( localize(6539, "Saved resources to {0}", labelService.getUriLabel(thenReveal))));
|
|
346
346
|
}
|
|
347
347
|
};
|
|
348
348
|
if (context.parts.length === 1) {
|
|
@@ -354,7 +354,7 @@ class SaveResourcesAction extends Action2 {
|
|
|
354
354
|
await withProgress(uri, [() => savePart(part, false, uri)]);
|
|
355
355
|
} else {
|
|
356
356
|
const uris = await fileDialog.showOpenDialog({
|
|
357
|
-
title: ( localize(
|
|
357
|
+
title: ( localize(6540, "Pick folder to save resources")),
|
|
358
358
|
canSelectFiles: false,
|
|
359
359
|
canSelectFolders: true,
|
|
360
360
|
canSelectMany: false,
|
package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTreeContentPart.js
CHANGED
|
@@ -83,7 +83,7 @@ let TreePool = class TreePool extends Disposable {
|
|
|
83
83
|
},
|
|
84
84
|
accessibilityProvider: {
|
|
85
85
|
getAriaLabel: element => element.label,
|
|
86
|
-
getWidgetAriaLabel: () => ( localize(
|
|
86
|
+
getWidgetAriaLabel: () => ( localize(6541, "File Tree"))
|
|
87
87
|
},
|
|
88
88
|
alwaysConsumeMouseWheel: false
|
|
89
89
|
}
|
|
@@ -45,15 +45,15 @@ let ChatWorkspaceEditContentPart = class ChatWorkspaceEditContentPart extends Di
|
|
|
45
45
|
for (const edit of workspaceEdit.edits) {
|
|
46
46
|
if (edit.oldResource && !edit.newResource) {
|
|
47
47
|
renderEntry(( localize(
|
|
48
|
-
|
|
48
|
+
6542,
|
|
49
49
|
"Deleted `{0}`",
|
|
50
50
|
this.labelService.getUriBasenameLabel(edit.oldResource)
|
|
51
51
|
)), Codicon.trash);
|
|
52
52
|
} else if (!edit.oldResource && edit.newResource) {
|
|
53
|
-
renderEntry(( localize(
|
|
53
|
+
renderEntry(( localize(6543, "Created []({0})", (edit.newResource.toString()))), Codicon.newFile);
|
|
54
54
|
} else if (edit.oldResource && edit.newResource) {
|
|
55
55
|
renderEntry(( localize(
|
|
56
|
-
|
|
56
|
+
6544,
|
|
57
57
|
"Renamed {0} to []({1})",
|
|
58
58
|
this.labelService.getUriBasenameLabel(edit.oldResource),
|
|
59
59
|
(edit.newResource.toString())
|
package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/codeBlockPart.d.ts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { CancellationToken } from "@codingame/monaco-vscode-api/vscode/vs/base/common/cancellation";
|
|
2
|
-
import { Emitter, Event } from "@codingame/monaco-vscode-api/vscode/vs/base/common/event";
|
|
3
2
|
import { Disposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
|
|
4
3
|
import { URI } from "@codingame/monaco-vscode-api/vscode/vs/base/common/uri";
|
|
5
4
|
import { IDiffEditor } from "@codingame/monaco-vscode-api/vscode/vs/editor/browser/editorBrowser";
|
|
@@ -71,8 +70,6 @@ export declare class CodeBlockPart extends Disposable {
|
|
|
71
70
|
protected readonly modelService: IModelService;
|
|
72
71
|
private readonly configurationService;
|
|
73
72
|
private readonly accessibilityService;
|
|
74
|
-
protected readonly _onDidChangeContentHeight: Emitter<void>;
|
|
75
|
-
readonly onDidChangeContentHeight: Event<void>;
|
|
76
73
|
readonly editor: CodeEditorWidget;
|
|
77
74
|
protected readonly toolbar: MenuWorkbenchToolBar;
|
|
78
75
|
private readonly contextKeyService;
|
|
@@ -81,6 +78,7 @@ export declare class CodeBlockPart extends Disposable {
|
|
|
81
78
|
private readonly vulnsListElement;
|
|
82
79
|
private currentCodeBlockData;
|
|
83
80
|
private currentScrollWidth;
|
|
81
|
+
private lastLayoutWidth;
|
|
84
82
|
private isDisposed;
|
|
85
83
|
private resourceContextKey;
|
|
86
84
|
private get verticalPadding();
|
|
@@ -92,7 +90,7 @@ export declare class CodeBlockPart extends Disposable {
|
|
|
92
90
|
private updatePaddingForLayout;
|
|
93
91
|
private _configureForScreenReader;
|
|
94
92
|
private getEditorOptionsFromConfig;
|
|
95
|
-
layout(width
|
|
93
|
+
layout(width?: number | undefined): void;
|
|
96
94
|
private getContentHeight;
|
|
97
95
|
render(data: ICodeBlockData, width: number): Promise<void>;
|
|
98
96
|
reset(): void;
|
|
@@ -111,6 +109,7 @@ export interface ICodeCompareBlockActionContext {
|
|
|
111
109
|
readonly element: IChatResponseViewModel;
|
|
112
110
|
readonly diffEditor: IDiffEditor;
|
|
113
111
|
readonly edit: IChatTextEditGroup;
|
|
112
|
+
toggleDiffViewMode(): void;
|
|
114
113
|
}
|
|
115
114
|
export interface ICodeCompareBlockDiffData {
|
|
116
115
|
modified: ITextModel;
|
|
@@ -134,8 +133,6 @@ export declare class CodeCompareBlockPart extends Disposable {
|
|
|
134
133
|
private readonly accessibilityService;
|
|
135
134
|
private readonly labelService;
|
|
136
135
|
private readonly openerService;
|
|
137
|
-
protected readonly _onDidChangeContentHeight: Emitter<void>;
|
|
138
|
-
readonly onDidChangeContentHeight: Event<void>;
|
|
139
136
|
private readonly contextKeyService;
|
|
140
137
|
private readonly diffEditor;
|
|
141
138
|
private readonly resourceLabel;
|
|
@@ -146,6 +143,7 @@ export declare class CodeCompareBlockPart extends Disposable {
|
|
|
146
143
|
private readonly _lastDiffEditorViewModel;
|
|
147
144
|
private currentScrollWidth;
|
|
148
145
|
private currentHorizontalPadding;
|
|
146
|
+
private lastLayoutWidth;
|
|
149
147
|
constructor(options: ChatEditorOptions, menuId: MenuId, delegate: IChatRendererDelegate, overflowWidgetsDomNode: HTMLElement | undefined, isSimpleWidget: boolean | undefined, instantiationService: IInstantiationService, contextKeyService: IContextKeyService, modelService: IModelService, configurationService: IConfigurationService, accessibilityService: IAccessibilityService, labelService: ILabelService, openerService: IOpenerService);
|
|
150
148
|
get uri(): URI | undefined;
|
|
151
149
|
private createDiffEditor;
|
|
@@ -153,7 +151,7 @@ export declare class CodeCompareBlockPart extends Disposable {
|
|
|
153
151
|
private updatePaddingForLayout;
|
|
154
152
|
private _configureForScreenReader;
|
|
155
153
|
private getEditorOptionsFromConfig;
|
|
156
|
-
layout(width
|
|
154
|
+
layout(width?: number | undefined): void;
|
|
157
155
|
render(data: ICodeCompareBlockData, width: number, token: CancellationToken): Promise<void>;
|
|
158
156
|
reset(): void;
|
|
159
157
|
private clearWidgets;
|
package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/codeBlockPart.js
CHANGED
|
@@ -6,7 +6,7 @@ import { $ as $$1, append, hide, show, clearNode, getTotalHeight, Dimension, res
|
|
|
6
6
|
import { renderFormattedText } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/formattedTextRenderer';
|
|
7
7
|
import { Button } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/button/button';
|
|
8
8
|
import { Codicon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/codicons';
|
|
9
|
-
import {
|
|
9
|
+
import { Event } from '@codingame/monaco-vscode-api/vscode/vs/base/common/event';
|
|
10
10
|
import { Disposable, MutableDisposable, combinedDisposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
|
|
11
11
|
import { Schemas } from '@codingame/monaco-vscode-api/vscode/vs/base/common/network';
|
|
12
12
|
import { isEqual } from '@codingame/monaco-vscode-api/vscode/vs/base/common/resources';
|
|
@@ -61,6 +61,7 @@ import { emptyProgressRunner } from '@codingame/monaco-vscode-api/vscode/vs/plat
|
|
|
61
61
|
import { IEditorProgressService } from '@codingame/monaco-vscode-api/vscode/vs/platform/progress/common/progress.service';
|
|
62
62
|
import { SuggestController } from '@codingame/monaco-vscode-api/vscode/vs/editor/contrib/suggest/browser/suggestController';
|
|
63
63
|
import { SnippetController2 } from '@codingame/monaco-vscode-api/vscode/vs/editor/contrib/snippet/browser/snippetController2';
|
|
64
|
+
import { EditorContextKeys } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/editorContextKeys';
|
|
64
65
|
|
|
65
66
|
registerCss(codeBlockPart);
|
|
66
67
|
const $ = $$1;
|
|
@@ -116,8 +117,6 @@ let CodeBlockPart = class CodeBlockPart extends Disposable {
|
|
|
116
117
|
this.modelService = modelService;
|
|
117
118
|
this.configurationService = configurationService;
|
|
118
119
|
this.accessibilityService = accessibilityService;
|
|
119
|
-
this._onDidChangeContentHeight = this._register(( new Emitter()));
|
|
120
|
-
this.onDidChangeContentHeight = this._onDidChangeContentHeight.event;
|
|
121
120
|
this.currentScrollWidth = 0;
|
|
122
121
|
this.isDisposed = false;
|
|
123
122
|
this.element = $(".interactive-result-code-block");
|
|
@@ -149,13 +148,13 @@ let CodeBlockPart = class CodeBlockPart extends Disposable {
|
|
|
149
148
|
multipleDefinitions: "goto",
|
|
150
149
|
multipleImplementations: "goto"
|
|
151
150
|
},
|
|
152
|
-
ariaLabel: ( localize(
|
|
151
|
+
ariaLabel: ( localize(6545, "Code block")),
|
|
153
152
|
overflowWidgetsDomNode,
|
|
154
153
|
tabFocusMode: true,
|
|
155
154
|
...this.getEditorOptionsFromConfig()
|
|
156
155
|
});
|
|
157
156
|
const toolbarElement = append(this.element, $(".interactive-result-code-block-toolbar"));
|
|
158
|
-
const editorScopedService = this.editor.contextKeyService.createScoped(toolbarElement);
|
|
157
|
+
const editorScopedService = this._register(this.editor.contextKeyService.createScoped(toolbarElement));
|
|
159
158
|
const editorScopedInstantiationService = this._register(scopedInstantiationService.createChild(( new ServiceCollection([IContextKeyService, editorScopedService]))));
|
|
160
159
|
this.toolbar = this._register(
|
|
161
160
|
editorScopedInstantiationService.createInstance(MenuWorkbenchToolBar, toolbarElement, menuId, {
|
|
@@ -183,7 +182,7 @@ let CodeBlockPart = class CodeBlockPart extends Disposable {
|
|
|
183
182
|
element.vulnerabilitiesListExpanded = !element.vulnerabilitiesListExpanded;
|
|
184
183
|
this.vulnsButton.label = this.getVulnerabilitiesLabel();
|
|
185
184
|
this.element.classList.toggle("chat-vulnerabilities-collapsed", !element.vulnerabilitiesListExpanded);
|
|
186
|
-
this.
|
|
185
|
+
this.layout();
|
|
187
186
|
}));
|
|
188
187
|
this._register(this.toolbar.onDidChangeDropdownVisibility(e => {
|
|
189
188
|
toolbarElement.classList.toggle("force-visibility", e);
|
|
@@ -205,7 +204,7 @@ let CodeBlockPart = class CodeBlockPart extends Disposable {
|
|
|
205
204
|
}));
|
|
206
205
|
this._register(this.editor.onDidContentSizeChange(e => {
|
|
207
206
|
if (e.contentHeightChanged) {
|
|
208
|
-
this.
|
|
207
|
+
this.layout();
|
|
209
208
|
}
|
|
210
209
|
}));
|
|
211
210
|
this._register(this.editor.onDidBlurEditorWidget(() => {
|
|
@@ -294,7 +293,11 @@ let CodeBlockPart = class CodeBlockPart extends Disposable {
|
|
|
294
293
|
...this.currentCodeBlockData?.renderOptions?.editorOptions
|
|
295
294
|
};
|
|
296
295
|
}
|
|
297
|
-
layout(width) {
|
|
296
|
+
layout(width = this.lastLayoutWidth) {
|
|
297
|
+
if (width === undefined) {
|
|
298
|
+
return;
|
|
299
|
+
}
|
|
300
|
+
this.lastLayoutWidth = width;
|
|
298
301
|
const contentHeight = this.getContentHeight();
|
|
299
302
|
let height = contentHeight;
|
|
300
303
|
if (this.currentCodeBlockData?.renderOptions?.maxHeightInLines) {
|
|
@@ -336,11 +339,11 @@ let CodeBlockPart = class CodeBlockPart extends Disposable {
|
|
|
336
339
|
});
|
|
337
340
|
if (!this.editor.getOption(EditorOption.ariaLabel)) {
|
|
338
341
|
this.editor.updateOptions({
|
|
339
|
-
ariaLabel: ( localize(
|
|
342
|
+
ariaLabel: ( localize(6546, "Code block {0}", data.codeBlockIndex + 1))
|
|
340
343
|
});
|
|
341
344
|
}
|
|
342
345
|
this.layout(width);
|
|
343
|
-
this.toolbar.setAriaLabel(( localize(
|
|
346
|
+
this.toolbar.setAriaLabel(( localize(6547, "Code block {0}", data.codeBlockIndex + 1)));
|
|
344
347
|
if (data.renderOptions?.hideToolbar) {
|
|
345
348
|
hide(this.toolbar.getElement());
|
|
346
349
|
} else {
|
|
@@ -363,7 +366,7 @@ let CodeBlockPart = class CodeBlockPart extends Disposable {
|
|
|
363
366
|
} else {
|
|
364
367
|
this.element.classList.add("no-vulns");
|
|
365
368
|
}
|
|
366
|
-
this.
|
|
369
|
+
this.layout();
|
|
367
370
|
}
|
|
368
371
|
reset() {
|
|
369
372
|
this.clearWidgets();
|
|
@@ -395,7 +398,7 @@ let CodeBlockPart = class CodeBlockPart extends Disposable {
|
|
|
395
398
|
if (!this.currentCodeBlockData || !this.currentCodeBlockData.vulns) {
|
|
396
399
|
return "";
|
|
397
400
|
}
|
|
398
|
-
const referencesLabel = this.currentCodeBlockData.vulns.length > 1 ? ( localize(
|
|
401
|
+
const referencesLabel = this.currentCodeBlockData.vulns.length > 1 ? ( localize(6548, "{0} vulnerabilities", this.currentCodeBlockData.vulns.length)) : ( localize(6549, "{0} vulnerability", 1));
|
|
399
402
|
const icon = element => element.vulnerabilitiesListExpanded ? Codicon.chevronDown : Codicon.chevronRight;
|
|
400
403
|
return `${referencesLabel} $(${icon(this.currentCodeBlockData.element).id})`;
|
|
401
404
|
}
|
|
@@ -460,8 +463,6 @@ let CodeCompareBlockPart = class CodeCompareBlockPart extends Disposable {
|
|
|
460
463
|
this.accessibilityService = accessibilityService;
|
|
461
464
|
this.labelService = labelService;
|
|
462
465
|
this.openerService = openerService;
|
|
463
|
-
this._onDidChangeContentHeight = this._register(( new Emitter()));
|
|
464
|
-
this.onDidChangeContentHeight = this._onDidChangeContentHeight.event;
|
|
465
466
|
this._lastDiffEditorViewModel = this._store.add(( new MutableDisposable()));
|
|
466
467
|
this.currentScrollWidth = 0;
|
|
467
468
|
this.currentHorizontalPadding = 0;
|
|
@@ -507,7 +508,7 @@ let CodeCompareBlockPart = class CodeCompareBlockPart extends Disposable {
|
|
|
507
508
|
multipleDefinitions: "goto",
|
|
508
509
|
multipleImplementations: "goto"
|
|
509
510
|
},
|
|
510
|
-
ariaLabel: ( localize(
|
|
511
|
+
ariaLabel: ( localize(6545, "Code block")),
|
|
511
512
|
overflowWidgetsDomNode,
|
|
512
513
|
...this.getEditorOptionsFromConfig()
|
|
513
514
|
});
|
|
@@ -540,11 +541,6 @@ let CodeCompareBlockPart = class CodeCompareBlockPart extends Disposable {
|
|
|
540
541
|
this._register(this.diffEditor.getModifiedEditor().onDidScrollChange(e => {
|
|
541
542
|
this.currentScrollWidth = e.scrollWidth;
|
|
542
543
|
}));
|
|
543
|
-
this._register(this.diffEditor.onDidContentSizeChange(e => {
|
|
544
|
-
if (e.contentHeightChanged) {
|
|
545
|
-
this._onDidChangeContentHeight.fire();
|
|
546
|
-
}
|
|
547
|
-
}));
|
|
548
544
|
this._register(this.diffEditor.getModifiedEditor().onDidBlurEditorWidget(() => {
|
|
549
545
|
this.element.classList.remove("focused");
|
|
550
546
|
WordHighlighterContribution.get(this.diffEditor.getModifiedEditor())?.stopHighlighting();
|
|
@@ -591,8 +587,8 @@ let CodeCompareBlockPart = class CodeCompareBlockPart extends Disposable {
|
|
|
591
587
|
stickyScroll: {
|
|
592
588
|
enabled: false
|
|
593
589
|
},
|
|
594
|
-
originalAriaLabel: ( localize(
|
|
595
|
-
modifiedAriaLabel: ( localize(
|
|
590
|
+
originalAriaLabel: ( localize(6550, "Original")),
|
|
591
|
+
modifiedAriaLabel: ( localize(6551, "Modified")),
|
|
596
592
|
diffAlgorithm: "advanced",
|
|
597
593
|
readOnly: false,
|
|
598
594
|
isInEmbeddedEditor: true,
|
|
@@ -631,11 +627,9 @@ let CodeCompareBlockPart = class CodeCompareBlockPart extends Disposable {
|
|
|
631
627
|
}
|
|
632
628
|
_configureForScreenReader() {
|
|
633
629
|
const toolbarElt = this.toolbar.getElement();
|
|
630
|
+
toolbarElt.style.display = "block";
|
|
634
631
|
if (this.accessibilityService.isScreenReaderOptimized()) {
|
|
635
|
-
toolbarElt.
|
|
636
|
-
toolbarElt.ariaLabel = ( localize(6029, "Code block toolbar"));
|
|
637
|
-
} else {
|
|
638
|
-
toolbarElt.style.display = "";
|
|
632
|
+
toolbarElt.ariaLabel = ( localize(6552, "Code block toolbar"));
|
|
639
633
|
}
|
|
640
634
|
}
|
|
641
635
|
getEditorOptionsFromConfig() {
|
|
@@ -649,7 +643,11 @@ let CodeCompareBlockPart = class CodeCompareBlockPart extends Disposable {
|
|
|
649
643
|
lineHeight: this.options.configuration.resultEditor.lineHeight
|
|
650
644
|
};
|
|
651
645
|
}
|
|
652
|
-
layout(width) {
|
|
646
|
+
layout(width = this.lastLayoutWidth) {
|
|
647
|
+
if (width === undefined) {
|
|
648
|
+
return;
|
|
649
|
+
}
|
|
650
|
+
this.lastLayoutWidth = width;
|
|
653
651
|
const editorBorder = 2;
|
|
654
652
|
const toolbar = getTotalHeight(this.editorHeader);
|
|
655
653
|
const content = this.diffEditor.getModel() ? this.diffEditor.getContentHeight() : getTotalHeight(this.messageElement);
|
|
@@ -657,7 +655,6 @@ let CodeCompareBlockPart = class CodeCompareBlockPart extends Disposable {
|
|
|
657
655
|
width - editorBorder - this.currentHorizontalPadding * 2,
|
|
658
656
|
toolbar + content
|
|
659
657
|
);
|
|
660
|
-
this.element.style.height = `${dimension.height}px`;
|
|
661
658
|
this.element.style.width = `${dimension.width}px`;
|
|
662
659
|
this.diffEditor.layout(dimension.with(undefined, content - editorBorder));
|
|
663
660
|
this.updatePaddingForLayout();
|
|
@@ -673,7 +670,7 @@ let CodeCompareBlockPart = class CodeCompareBlockPart extends Disposable {
|
|
|
673
670
|
await this.updateEditor(data, token);
|
|
674
671
|
this.layout(width);
|
|
675
672
|
this.diffEditor.updateOptions({
|
|
676
|
-
ariaLabel: ( localize(
|
|
673
|
+
ariaLabel: ( localize(6553, "Code Edits")),
|
|
677
674
|
readOnly: !!data.isReadOnly
|
|
678
675
|
});
|
|
679
676
|
this.resourceLabel.element.setFile(data.edit.uri, {
|
|
@@ -683,7 +680,6 @@ let CodeCompareBlockPart = class CodeCompareBlockPart extends Disposable {
|
|
|
683
680
|
badges: false
|
|
684
681
|
}
|
|
685
682
|
});
|
|
686
|
-
this._onDidChangeContentHeight.fire();
|
|
687
683
|
}
|
|
688
684
|
reset() {
|
|
689
685
|
this.clearWidgets();
|
|
@@ -709,12 +705,12 @@ let CodeCompareBlockPart = class CodeCompareBlockPart extends Disposable {
|
|
|
709
705
|
});
|
|
710
706
|
let template;
|
|
711
707
|
if (data.edit.state.applied === 1) {
|
|
712
|
-
template = ( localize(
|
|
708
|
+
template = ( localize(6554, "Applied 1 change in [[``{0}``]]", uriLabel));
|
|
713
709
|
} else if (data.edit.state.applied < 0) {
|
|
714
|
-
template = ( localize(
|
|
710
|
+
template = ( localize(6555, "Edits in [[``{0}``]] have been rejected", uriLabel));
|
|
715
711
|
} else {
|
|
716
712
|
template = ( localize(
|
|
717
|
-
|
|
713
|
+
6556,
|
|
718
714
|
"Applied {0} changes in [[``{1}``]]",
|
|
719
715
|
data.edit.state.applied,
|
|
720
716
|
uriLabel
|
|
@@ -752,12 +748,21 @@ let CodeCompareBlockPart = class CodeCompareBlockPart extends Disposable {
|
|
|
752
748
|
} else {
|
|
753
749
|
this.diffEditor.setModel(null);
|
|
754
750
|
this._lastDiffEditorViewModel.value = undefined;
|
|
755
|
-
this._onDidChangeContentHeight.fire();
|
|
756
751
|
}
|
|
757
752
|
this.toolbar.context = {
|
|
758
753
|
edit: data.edit,
|
|
759
754
|
element: data.element,
|
|
760
|
-
diffEditor: this.diffEditor
|
|
755
|
+
diffEditor: this.diffEditor,
|
|
756
|
+
toggleDiffViewMode: () => {
|
|
757
|
+
const isCurrentlyInline = !!this.diffEditor.getModifiedEditor().contextKeyService.getContextKeyValue(EditorContextKeys.diffEditorInlineMode.key);
|
|
758
|
+
const renderSideBySide = isCurrentlyInline;
|
|
759
|
+
this.diffEditor.updateOptions({
|
|
760
|
+
renderSideBySide,
|
|
761
|
+
compactMode: !renderSideBySide,
|
|
762
|
+
useInlineViewWhenSpaceIsLimited: false
|
|
763
|
+
});
|
|
764
|
+
this.layout();
|
|
765
|
+
}
|
|
761
766
|
};
|
|
762
767
|
}
|
|
763
768
|
};
|
|
@@ -832,8 +837,8 @@ let DefaultChatTextEditor = class DefaultChatTextEditor {
|
|
|
832
837
|
async _checkSha1(model, item) {
|
|
833
838
|
if (item.state?.sha1 && this._sha1.computeSHA1(model) && this._sha1.computeSHA1(model) !== item.state.sha1) {
|
|
834
839
|
const result = await this.dialogService.confirm({
|
|
835
|
-
message: ( localize(
|
|
836
|
-
detail: ( localize(
|
|
840
|
+
message: ( localize(6557, "The original file has been modified.")),
|
|
841
|
+
detail: ( localize(6558, "Do you want to apply the changes anyway?"))
|
|
837
842
|
});
|
|
838
843
|
if (!result.confirmed) {
|
|
839
844
|
return false;
|
|
@@ -4,14 +4,13 @@
|
|
|
4
4
|
*--------------------------------------------------------------------------------------------*/
|
|
5
5
|
|
|
6
6
|
.interactive-item-container.interactive-response .value .chat-markdown-part.rendered-markdown .code:has(.chat-codeblock-pill-container) {
|
|
7
|
-
margin-bottom:
|
|
7
|
+
margin-bottom: 16px;
|
|
8
8
|
}
|
|
9
9
|
|
|
10
10
|
.chat-markdown-part.rendered-markdown .code .chat-codeblock-pill-container {
|
|
11
11
|
display: flex;
|
|
12
12
|
align-items: center;
|
|
13
13
|
gap: 5px;
|
|
14
|
-
margin: 0 0 6px 4px;
|
|
15
14
|
font-size: var(--vscode-chat-font-size-body-s);
|
|
16
15
|
color: var(--vscode-descriptionForeground);
|
|
17
16
|
|
|
@@ -29,10 +28,20 @@
|
|
|
29
28
|
color: var(--vscode-icon-foreground) !important;
|
|
30
29
|
|
|
31
30
|
&::before {
|
|
32
|
-
font-size:
|
|
31
|
+
font-size: 12px;
|
|
33
32
|
}
|
|
34
33
|
}
|
|
35
34
|
|
|
35
|
+
.codicon.codicon-check {
|
|
36
|
+
display: none;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
.show-checkmarks & .codicon.codicon-check {
|
|
40
|
+
display: inline-flex;
|
|
41
|
+
padding-left: 2px;
|
|
42
|
+
margin-left: 0.2em;
|
|
43
|
+
}
|
|
44
|
+
|
|
36
45
|
.status-label {
|
|
37
46
|
color: var(--vscode-descriptionForeground);
|
|
38
47
|
white-space: nowrap;
|