@codingame/monaco-vscode-katex-common 29.1.1 → 30.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/actions/browser/buttonbar.js +14 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityProvider.js +16 -16
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContinueInAction.js +9 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatElicitationActions.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatExecuteActions.js +34 -34
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatTitleActions.js +12 -20
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.d.ts +14 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.js +208 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.d.ts +22 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.js +637 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionApprovalModel.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionApprovalModel.js +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionHoverWidget.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsControl.d.ts +9 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsControl.js +202 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsFilter.d.ts +4 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsFilter.js +17 -8
- 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 +53 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsViewer.js +296 -63
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/media/agentsessionsviewer.css +59 -23
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentWidgets.js +55 -42
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/implicitContextAttachment.js +12 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingActions.js +110 -59
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.js +14 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.js +7 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationWidget.js +12 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessionPickerActionItem.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/searchableOptionPickerActionItem.js +5 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolSetsContribution.d.ts +24 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolSetsContribution.js +384 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatAgentHover.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatArtifactsWidget.d.ts +12 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatArtifactsWidget.js +220 -61
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentMarkdownRenderer.js +1 -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 +6 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAttachmentsContentPart.js +14 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatChangesSummaryPart.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCodeCitationContentPart.js +1 -1
- 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/chatContentCodePools.js +5 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatDisabledClaudeHooksContentPart.js +3 -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.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatInlineAnchorWidget.d.ts +5 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatInlineAnchorWidget.js +14 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownContentPart.d.ts +11 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownContentPart.js +40 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMcpServersInteractionContentPart.js +8 -8
- 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.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuestionCarouselPart.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuestionCarouselPart.js +97 -54
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuotaExceededPart.js +5 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatReferencesContentPart.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatResourceGroupWidget.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSubagentContentPart.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSuggestNextWidget.js +8 -7
- 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 +15 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatThinkingContentPart.js +155 -22
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTipContentPart.js +9 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTodoListWidget.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTodoListWidget.js +36 -19
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatToolInputOutputContentPart.js +2 -2
- 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.js +14 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatThinkingContent.css +13 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/abstractToolConfirmationSubPart.js +1 -1
- 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/chatMcpAppModel.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMcpAppSubPart.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMissingSandboxDepsConfirmationSubPart.d.ts +17 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMissingSandboxDepsConfirmationSubPart.js +68 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatModifiedFilesConfirmationSubPart.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolConfirmationSubPart.js +16 -16
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolProgressPart.js +33 -25
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolConfirmationSubPart.js +7 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolInvocationPart.js +12 -3
- 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 +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolPostExecuteConfirmationPart.js +5 -5
- 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 +4 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListRenderer.js +37 -113
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListWidget.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidget.d.ts +10 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidget.js +66 -39
- 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 +13 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPart.js +103 -61
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelPicker.d.ts +2 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelPicker.js +35 -23
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/delegationSessionPickerActionItem.d.ts +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/delegationSessionPickerActionItem.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modePickerActionItem.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modelPickerActionItem2.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modelPickerActionItem2.js +4 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/permissionPickerActionItem.d.ts +2 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/permissionPickerActionItem.js +39 -24
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/sessionTargetPickerActionItem.d.ts +6 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/sessionTargetPickerActionItem.js +44 -18
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/workspacePickerActionItem.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/media/chat.css +60 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageDetails.js +7 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageWidget.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/common/chatImageExtraction.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/common/widget/chatColors.js +15 -15
- package/vscode/src/vs/workbench/contrib/chat/common/widget/codeBlockModelCollection.js +4 -0
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatController.js +4 -4
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatOverlayWidget.js +5 -5
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionService.d.ts +4 -1
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionService.js +5 -2
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatWidget.js +6 -11
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatZoneWidget.js +1 -1
- package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.js +39 -39
- package/vscode/src/vs/workbench/contrib/interactive/browser/replInputHintContentWidget.js +3 -3
- 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/notebook/browser/controller/cellOperations.d.ts +26 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/cellOperations.js +746 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/insertCellActions.d.ts +13 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/insertCellActions.js +300 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffCellEditorOptions.d.ts +8 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffCellEditorOptions.js +55 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffComponents.d.ts +273 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffComponents.js +1963 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffElementOutputs.d.ts +50 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffElementOutputs.js +314 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffElementViewModel.d.ts +258 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffElementViewModel.js +886 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffNestedCellViewModel.d.ts +41 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffNestedCellViewModel.js +118 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/editorHeightCalculator.d.ts +17 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/editorHeightCalculator.js +71 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/eventDispatcher.d.ts +27 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/eventDispatcher.js +40 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookCellDiffDecorator.d.ts +23 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookCellDiffDecorator.js +313 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookDeletedCellDecorator.d.ts +51 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookDeletedCellDecorator.js +265 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookInlineDiff.d.ts +24 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookInlineDiff.js +185 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookInlineDiffWidget.d.ts +28 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookInlineDiffWidget.js +104 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookInsertedCellDecorator.d.ts +10 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookInsertedCellDecorator.js +43 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookOriginalCellModelFactory.d.ts +21 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookOriginalCellModelFactory.js +41 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookOriginalModelRefFactory.d.ts +25 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookOriginalModelRefFactory.js +69 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiff.css +469 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffEditor.d.ts +149 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffEditor.js +933 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffEditorBrowser.d.ts +180 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffEditorBrowser.js +32 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffList.d.ts +102 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffList.js +643 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffOverviewRuler.d.ts +30 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffOverviewRuler.js +197 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffViewModel.d.ts +75 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffViewModel.js +539 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/unchangedEditorRegions.d.ts +13 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/unchangedEditorRegions.js +39 -0
- package/vscode/src/vs/workbench/contrib/notebook/common/model/notebookMetadataTextModel.d.ts +19 -0
- package/vscode/src/vs/workbench/contrib/notebook/common/model/notebookMetadataTextModel.js +90 -0
- package/vscode/src/vs/workbench/contrib/notebook/common/notebookDiff.d.ts +26 -0
- package/vscode/src/vs/workbench/contrib/notebook/common/notebookDiff.js +92 -0
- 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/chatSessions/chatSessions.contribution.d.ts +0 -152
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessions.contribution.js +0 -1317
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/internalCustomizations/internalPromptFileSystem.d.ts +0 -47
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/internalCustomizations/internalPromptFileSystem.js +0 -95
|
@@ -22,6 +22,7 @@ import { EditorActivation } from '@codingame/monaco-vscode-api/vscode/vs/platfor
|
|
|
22
22
|
import { KeybindingWeight } from '@codingame/monaco-vscode-api/vscode/vs/platform/keybinding/common/keybindingsRegistry';
|
|
23
23
|
import { IEditorService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorService.service';
|
|
24
24
|
import { IAgentSessionsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsService.service';
|
|
25
|
+
import { isImplicitVariableEntry, isWorkspaceVariableEntry, isStringVariableEntry, isPromptFileVariableEntry, isPromptTextVariableEntry } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/attachments/chatVariableEntries';
|
|
25
26
|
import { isChatViewTitleActionContext } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/actions/chatActions';
|
|
26
27
|
import { ChatContextKeys } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/actions/chatContextKeys';
|
|
27
28
|
import { chatEditingWidgetFileStateContextKey, ModifiedFileEntryState, CHAT_EDITING_MULTI_DIFF_SOURCE_RESOLVER_SCHEME, chatEditingResourceContextKey, decidedChatEditingResourceContextKey, applyingChatEditsFailedContextKey, hasUndecidedChatEditingResourceContextKey, hasAppliedChatEditsContextKey } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/editing/chatEditingService';
|
|
@@ -85,7 +86,7 @@ registerAction2(class OpenFileInDiffAction extends WorkingSetAction {
|
|
|
85
86
|
constructor() {
|
|
86
87
|
super({
|
|
87
88
|
id: "chatEditing.openFileInDiff",
|
|
88
|
-
title: ( localize2(
|
|
89
|
+
title: ( localize2(5964, "Open Changes in Diff Editor")),
|
|
89
90
|
icon: Codicon.diffSingle,
|
|
90
91
|
menu: [{
|
|
91
92
|
id: MenuId.ChatEditingWidgetModifiedFilesToolbar,
|
|
@@ -116,7 +117,7 @@ registerAction2(class AcceptAction extends WorkingSetAction {
|
|
|
116
117
|
constructor() {
|
|
117
118
|
super({
|
|
118
119
|
id: "chatEditing.acceptFile",
|
|
119
|
-
title: ( localize2(
|
|
120
|
+
title: ( localize2(5965, "Keep")),
|
|
120
121
|
icon: Codicon.check,
|
|
121
122
|
menu: [{
|
|
122
123
|
when: ( ContextKeyExpr.and(( ContextKeyExpr.equals("resourceScheme", CHAT_EDITING_MULTI_DIFF_SOURCE_RESOLVER_SCHEME)), ContextKeyExpr.notIn(
|
|
@@ -142,7 +143,7 @@ registerAction2(class DiscardAction extends WorkingSetAction {
|
|
|
142
143
|
constructor() {
|
|
143
144
|
super({
|
|
144
145
|
id: "chatEditing.discardFile",
|
|
145
|
-
title: ( localize2(
|
|
146
|
+
title: ( localize2(5966, "Undo")),
|
|
146
147
|
icon: Codicon.discard,
|
|
147
148
|
menu: [{
|
|
148
149
|
when: ( ContextKeyExpr.and(( ContextKeyExpr.equals("resourceScheme", CHAT_EDITING_MULTI_DIFF_SOURCE_RESOLVER_SCHEME)), ContextKeyExpr.notIn(
|
|
@@ -168,9 +169,9 @@ class ChatEditingAcceptAllAction extends EditingSessionAction {
|
|
|
168
169
|
constructor() {
|
|
169
170
|
super({
|
|
170
171
|
id: "chatEditing.acceptAllFiles",
|
|
171
|
-
title: ( localize(
|
|
172
|
+
title: ( localize(5967, "Keep")),
|
|
172
173
|
icon: Codicon.check,
|
|
173
|
-
tooltip: ( localize(
|
|
174
|
+
tooltip: ( localize(5968, "Keep All Edits")),
|
|
174
175
|
precondition: hasUndecidedChatEditingResourceContextKey,
|
|
175
176
|
keybinding: {
|
|
176
177
|
primary: KeyMod.CtrlCmd | KeyCode.Enter,
|
|
@@ -194,9 +195,9 @@ class ChatEditingDiscardAllAction extends EditingSessionAction {
|
|
|
194
195
|
constructor() {
|
|
195
196
|
super({
|
|
196
197
|
id: "chatEditing.discardAllFiles",
|
|
197
|
-
title: ( localize(
|
|
198
|
+
title: ( localize(5969, "Undo")),
|
|
198
199
|
icon: Codicon.discard,
|
|
199
|
-
tooltip: ( localize(
|
|
200
|
+
tooltip: ( localize(5970, "Undo All Edits")),
|
|
200
201
|
precondition: hasUndecidedChatEditingResourceContextKey,
|
|
201
202
|
menu: [{
|
|
202
203
|
id: MenuId.ChatEditingWidgetToolbar,
|
|
@@ -227,8 +228,8 @@ class ToggleExplanationWidgetAction extends EditingSessionAction {
|
|
|
227
228
|
constructor() {
|
|
228
229
|
super({
|
|
229
230
|
id: ToggleExplanationWidgetAction.ID,
|
|
230
|
-
title: ( localize(
|
|
231
|
-
tooltip: ( localize(
|
|
231
|
+
title: ( localize(5971, "Explain")),
|
|
232
|
+
tooltip: ( localize(5972, "Toggle Change Explanations")),
|
|
232
233
|
precondition: hasUndecidedChatEditingResourceContextKey,
|
|
233
234
|
menu: [{
|
|
234
235
|
id: MenuId.ChatEditingWidgetToolbar,
|
|
@@ -252,17 +253,17 @@ async function discardAllEditsWithConfirmation(accessor, currentEditingSession)
|
|
|
252
253
|
const entries = currentEditingSession.entries.get().filter(e => e.state.get() === ModifiedFileEntryState.Modified);
|
|
253
254
|
if (entries.length > 0) {
|
|
254
255
|
const confirmation = await dialogService.confirm({
|
|
255
|
-
title: ( localize(
|
|
256
|
+
title: ( localize(5973, "Undo all edits?")),
|
|
256
257
|
message: entries.length === 1 ? ( localize(
|
|
257
|
-
|
|
258
|
+
5974,
|
|
258
259
|
"This will undo changes made in {0}. Do you want to proceed?",
|
|
259
260
|
basename(entries[0].modifiedURI)
|
|
260
261
|
)) : ( localize(
|
|
261
|
-
|
|
262
|
+
5975,
|
|
262
263
|
"This will undo changes made in {0} files. Do you want to proceed?",
|
|
263
264
|
entries.length
|
|
264
265
|
)),
|
|
265
|
-
primaryButton: ( localize(
|
|
266
|
+
primaryButton: ( localize(5976, "Yes")),
|
|
266
267
|
type: "info"
|
|
267
268
|
});
|
|
268
269
|
if (!confirmation.confirmed) {
|
|
@@ -277,7 +278,7 @@ class ChatEditingShowChangesAction extends EditingSessionAction {
|
|
|
277
278
|
this.ID = "chatEditing.viewChanges";
|
|
278
279
|
}
|
|
279
280
|
static {
|
|
280
|
-
this.LABEL = ( localize(
|
|
281
|
+
this.LABEL = ( localize(5977, "View All Edits"));
|
|
281
282
|
}
|
|
282
283
|
constructor() {
|
|
283
284
|
super({
|
|
@@ -310,15 +311,14 @@ class ViewAllSessionChangesAction extends Action2 {
|
|
|
310
311
|
constructor() {
|
|
311
312
|
super({
|
|
312
313
|
id: ViewAllSessionChangesAction.ID,
|
|
313
|
-
title: ( localize2(
|
|
314
|
+
title: ( localize2(5978, "View All Changes")),
|
|
314
315
|
icon: Codicon.diffMultiple,
|
|
315
316
|
category: CHAT_CATEGORY,
|
|
316
317
|
precondition: ChatContextKeys.hasAgentSessionChanges,
|
|
317
318
|
menu: [{
|
|
318
319
|
id: MenuId.ChatEditingSessionChangesToolbar,
|
|
319
320
|
group: "navigation",
|
|
320
|
-
order: 10
|
|
321
|
-
when: ChatContextKeys.hasAgentSessionChanges
|
|
321
|
+
order: 10
|
|
322
322
|
}]
|
|
323
323
|
});
|
|
324
324
|
}
|
|
@@ -347,7 +347,7 @@ class ViewAllSessionChangesAction extends Action2 {
|
|
|
347
347
|
multiDiffSourceUri: sessionResource.with({
|
|
348
348
|
scheme: sessionResource.scheme + "-worktree-changes"
|
|
349
349
|
}),
|
|
350
|
-
title: ( localize(
|
|
350
|
+
title: ( localize(5979, "All Session Changes")),
|
|
351
351
|
resources
|
|
352
352
|
});
|
|
353
353
|
session?.setRead(true);
|
|
@@ -359,6 +359,14 @@ class ViewAllSessionChangesAction extends Action2 {
|
|
|
359
359
|
}
|
|
360
360
|
}
|
|
361
361
|
registerAction2(ViewAllSessionChangesAction);
|
|
362
|
+
function filterToUserAttachedContext(attachedContext) {
|
|
363
|
+
if (!attachedContext?.length) {
|
|
364
|
+
return [];
|
|
365
|
+
}
|
|
366
|
+
return attachedContext.filter(
|
|
367
|
+
a => !isImplicitVariableEntry(a) && !isWorkspaceVariableEntry(a) && !isStringVariableEntry(a) && !(isPromptFileVariableEntry(a) && a.automaticallyAdded) && !(isPromptTextVariableEntry(a) && a.automaticallyAdded)
|
|
368
|
+
);
|
|
369
|
+
}
|
|
362
370
|
async function restoreSnapshotWithConfirmationByRequestId(accessor, sessionResource, requestId) {
|
|
363
371
|
const configurationService = accessor.get(IConfigurationService);
|
|
364
372
|
const dialogService = accessor.get(IDialogService);
|
|
@@ -367,16 +375,16 @@ async function restoreSnapshotWithConfirmationByRequestId(accessor, sessionResou
|
|
|
367
375
|
const chatService = accessor.get(IChatService);
|
|
368
376
|
const chatModel = chatService.getSession(sessionResource);
|
|
369
377
|
if (!chatModel) {
|
|
370
|
-
return;
|
|
378
|
+
return false;
|
|
371
379
|
}
|
|
372
380
|
const session = chatModel.editingSession;
|
|
373
381
|
if (!session) {
|
|
374
|
-
return;
|
|
382
|
+
return false;
|
|
375
383
|
}
|
|
376
384
|
const chatRequests = chatModel.getRequests();
|
|
377
385
|
const itemIndex = chatRequests.findIndex(request => request.id === requestId);
|
|
378
386
|
if (itemIndex === -1) {
|
|
379
|
-
return;
|
|
387
|
+
return false;
|
|
380
388
|
}
|
|
381
389
|
const editsToUndo = chatRequests.length - itemIndex;
|
|
382
390
|
const requestsToRemove = chatRequests.slice(itemIndex);
|
|
@@ -387,13 +395,13 @@ async function restoreSnapshotWithConfirmationByRequestId(accessor, sessionResou
|
|
|
387
395
|
if (editsToUndo === 1) {
|
|
388
396
|
if (entriesModifiedInRequestsToRemove.length === 1) {
|
|
389
397
|
message = ( localize(
|
|
390
|
-
|
|
398
|
+
5980,
|
|
391
399
|
"This will remove your last request and undo the edits made to {0}. Do you want to proceed?",
|
|
392
400
|
basename(entriesModifiedInRequestsToRemove[0].modifiedURI)
|
|
393
401
|
));
|
|
394
402
|
} else {
|
|
395
403
|
message = ( localize(
|
|
396
|
-
|
|
404
|
+
5981,
|
|
397
405
|
"This will remove your last request and undo edits made to {0} files in your working set. Do you want to proceed?",
|
|
398
406
|
entriesModifiedInRequestsToRemove.length
|
|
399
407
|
));
|
|
@@ -401,24 +409,24 @@ async function restoreSnapshotWithConfirmationByRequestId(accessor, sessionResou
|
|
|
401
409
|
} else {
|
|
402
410
|
if (entriesModifiedInRequestsToRemove.length === 1) {
|
|
403
411
|
message = ( localize(
|
|
404
|
-
|
|
412
|
+
5982,
|
|
405
413
|
"This will remove all subsequent requests and undo edits made to {0}. Do you want to proceed?",
|
|
406
414
|
basename(entriesModifiedInRequestsToRemove[0].modifiedURI)
|
|
407
415
|
));
|
|
408
416
|
} else {
|
|
409
417
|
message = ( localize(
|
|
410
|
-
|
|
418
|
+
5983,
|
|
411
419
|
"This will remove all subsequent requests and undo edits made to {0} files in your working set. Do you want to proceed?",
|
|
412
420
|
entriesModifiedInRequestsToRemove.length
|
|
413
421
|
));
|
|
414
422
|
}
|
|
415
423
|
}
|
|
416
424
|
const confirmation = shouldPrompt ? await dialogService.confirm({
|
|
417
|
-
title: editsToUndo === 1 ? ( localize(
|
|
425
|
+
title: editsToUndo === 1 ? ( localize(5984, "Do you want to undo your last edit?")) : ( localize(5985, "Do you want to undo {0} edits?", editsToUndo)),
|
|
418
426
|
message: message,
|
|
419
|
-
primaryButton: ( localize(
|
|
427
|
+
primaryButton: ( localize(5986, "Yes")),
|
|
420
428
|
checkbox: {
|
|
421
|
-
label: ( localize(
|
|
429
|
+
label: ( localize(5987, "Don't ask again")),
|
|
422
430
|
checked: false
|
|
423
431
|
},
|
|
424
432
|
type: "info"
|
|
@@ -427,26 +435,27 @@ async function restoreSnapshotWithConfirmationByRequestId(accessor, sessionResou
|
|
|
427
435
|
};
|
|
428
436
|
if (!confirmation.confirmed) {
|
|
429
437
|
widget?.viewModel?.model.setCheckpoint(undefined);
|
|
430
|
-
return;
|
|
438
|
+
return false;
|
|
431
439
|
}
|
|
432
440
|
if (confirmation.checkboxChecked) {
|
|
433
441
|
await configurationService.updateValue("chat.editing.confirmEditRequestRemoval", false);
|
|
434
442
|
}
|
|
435
443
|
const snapshotRequestId = chatRequests[itemIndex].id;
|
|
436
444
|
await session.restoreSnapshot(snapshotRequestId, undefined);
|
|
445
|
+
return true;
|
|
437
446
|
}
|
|
438
447
|
async function restoreSnapshotWithConfirmation(accessor, item) {
|
|
439
448
|
const requestId = isRequestVM(item) ? item.id : isResponseVM(item) ? item.requestId : undefined;
|
|
440
449
|
if (!requestId) {
|
|
441
|
-
return;
|
|
450
|
+
return false;
|
|
442
451
|
}
|
|
443
|
-
|
|
452
|
+
return restoreSnapshotWithConfirmationByRequestId(accessor, item.sessionResource, requestId);
|
|
444
453
|
}
|
|
445
454
|
registerAction2(class RemoveAction extends Action2 {
|
|
446
455
|
constructor() {
|
|
447
456
|
super({
|
|
448
457
|
id: "workbench.action.chat.undoEdits",
|
|
449
|
-
title: ( localize2(
|
|
458
|
+
title: ( localize2(5988, "Undo Requests")),
|
|
450
459
|
f1: false,
|
|
451
460
|
category: CHAT_CATEGORY,
|
|
452
461
|
icon: Codicon.discard,
|
|
@@ -477,10 +486,14 @@ registerAction2(class RemoveAction extends Action2 {
|
|
|
477
486
|
if (!item) {
|
|
478
487
|
return;
|
|
479
488
|
}
|
|
480
|
-
await restoreSnapshotWithConfirmation(accessor, item);
|
|
481
|
-
if (isRequestVM(item) && configurationService.getValue("chat.undoRequests.restoreInput")) {
|
|
489
|
+
const confirmed = await restoreSnapshotWithConfirmation(accessor, item);
|
|
490
|
+
if (confirmed && isRequestVM(item) && configurationService.getValue("chat.undoRequests.restoreInput")) {
|
|
482
491
|
widget?.focusInput();
|
|
483
492
|
widget?.input.setValue(item.messageText, false);
|
|
493
|
+
const userAttachments = filterToUserAttachedContext(item.attachedContext);
|
|
494
|
+
if (userAttachments.length) {
|
|
495
|
+
await widget?.input.restoreAttachments(userAttachments);
|
|
496
|
+
}
|
|
484
497
|
}
|
|
485
498
|
}
|
|
486
499
|
});
|
|
@@ -488,8 +501,8 @@ registerAction2(class RestoreCheckpointAction extends Action2 {
|
|
|
488
501
|
constructor() {
|
|
489
502
|
super({
|
|
490
503
|
id: "workbench.action.chat.restoreCheckpoint",
|
|
491
|
-
title: ( localize2(
|
|
492
|
-
tooltip: ( localize2(
|
|
504
|
+
title: ( localize2(5989, "Restore Checkpoint")),
|
|
505
|
+
tooltip: ( localize2(5990, "Restores workspace and chat to this point")),
|
|
493
506
|
f1: false,
|
|
494
507
|
category: CHAT_CATEGORY,
|
|
495
508
|
keybinding: {
|
|
@@ -504,7 +517,7 @@ registerAction2(class RestoreCheckpointAction extends Action2 {
|
|
|
504
517
|
id: MenuId.ChatMessageCheckpoint,
|
|
505
518
|
group: "navigation",
|
|
506
519
|
order: 2,
|
|
507
|
-
when: ( ContextKeyExpr.and(ChatContextKeys.isRequest, ( ChatContextKeys.lockedToCodingAgent.negate())))
|
|
520
|
+
when: ( ContextKeyExpr.and(ChatContextKeys.isRequest, ( ChatContextKeys.lockedToCodingAgent.negate()), ( ChatContextKeys.isFirstRequest.negate())))
|
|
508
521
|
}]
|
|
509
522
|
});
|
|
510
523
|
}
|
|
@@ -518,11 +531,45 @@ registerAction2(class RestoreCheckpointAction extends Action2 {
|
|
|
518
531
|
if (!item) {
|
|
519
532
|
return;
|
|
520
533
|
}
|
|
534
|
+
const userAttachments = isRequestVM(item) ? filterToUserAttachedContext(item.attachedContext) : [];
|
|
521
535
|
if (isRequestVM(item)) {
|
|
522
536
|
widget?.focusInput();
|
|
523
537
|
widget?.input.setValue(item.messageText, false);
|
|
524
538
|
}
|
|
525
539
|
widget?.viewModel?.model.setCheckpoint(item.id);
|
|
540
|
+
const confirmed = await restoreSnapshotWithConfirmation(accessor, item);
|
|
541
|
+
if (confirmed && userAttachments.length) {
|
|
542
|
+
await widget?.input.restoreAttachments(userAttachments);
|
|
543
|
+
}
|
|
544
|
+
}
|
|
545
|
+
});
|
|
546
|
+
registerAction2(class StartOverAction extends Action2 {
|
|
547
|
+
constructor() {
|
|
548
|
+
super({
|
|
549
|
+
id: "workbench.action.chat.startOver",
|
|
550
|
+
title: ( localize2(5991, "Start Over")),
|
|
551
|
+
tooltip: ( localize2(5992, "Clears the chat and undoes all changes")),
|
|
552
|
+
f1: false,
|
|
553
|
+
category: CHAT_CATEGORY,
|
|
554
|
+
menu: [{
|
|
555
|
+
id: MenuId.ChatMessageCheckpoint,
|
|
556
|
+
group: "navigation",
|
|
557
|
+
order: 2,
|
|
558
|
+
when: ( ContextKeyExpr.and(ChatContextKeys.isRequest, ( ChatContextKeys.lockedToCodingAgent.negate()), ChatContextKeys.isFirstRequest))
|
|
559
|
+
}]
|
|
560
|
+
});
|
|
561
|
+
}
|
|
562
|
+
async run(accessor, ...args) {
|
|
563
|
+
let item = args[0];
|
|
564
|
+
const chatWidgetService = accessor.get(IChatWidgetService);
|
|
565
|
+
const widget = (isChatTreeItem(item) && chatWidgetService.getWidgetBySessionResource(item.sessionResource)) || chatWidgetService.lastFocusedWidget;
|
|
566
|
+
if (!isResponseVM(item) && !isRequestVM(item)) {
|
|
567
|
+
item = widget?.getFocus();
|
|
568
|
+
}
|
|
569
|
+
if (!item) {
|
|
570
|
+
return;
|
|
571
|
+
}
|
|
572
|
+
widget?.viewModel?.model.setCheckpoint(item.id);
|
|
526
573
|
await restoreSnapshotWithConfirmation(accessor, item);
|
|
527
574
|
}
|
|
528
575
|
});
|
|
@@ -530,7 +577,7 @@ registerAction2(class RestoreLastCheckpoint extends Action2 {
|
|
|
530
577
|
constructor() {
|
|
531
578
|
super({
|
|
532
579
|
id: "workbench.action.chat.restoreLastCheckpoint",
|
|
533
|
-
title: ( localize2(
|
|
580
|
+
title: ( localize2(5993, "Restore to Last Checkpoint")),
|
|
534
581
|
f1: true,
|
|
535
582
|
category: CHAT_CATEGORY,
|
|
536
583
|
icon: Codicon.discard,
|
|
@@ -555,7 +602,7 @@ registerAction2(class RestoreLastCheckpoint extends Action2 {
|
|
|
555
602
|
}
|
|
556
603
|
const checkpointRequest = chatModel.checkpoint;
|
|
557
604
|
if (!checkpointRequest) {
|
|
558
|
-
alert(( localize(
|
|
605
|
+
alert(( localize(5994, "There is no checkpoint to restore.")));
|
|
559
606
|
return;
|
|
560
607
|
}
|
|
561
608
|
widget?.viewModel?.model.setCheckpoint(checkpointRequest.id);
|
|
@@ -568,7 +615,7 @@ registerAction2(class EditAction extends Action2 {
|
|
|
568
615
|
constructor() {
|
|
569
616
|
super({
|
|
570
617
|
id: "workbench.action.chat.editRequests",
|
|
571
|
-
title: ( localize2(
|
|
618
|
+
title: ( localize2(5995, "Edit Request")),
|
|
572
619
|
f1: false,
|
|
573
620
|
category: CHAT_CATEGORY,
|
|
574
621
|
icon: Codicon.edit,
|
|
@@ -607,7 +654,7 @@ registerAction2(class OpenWorkingSetHistoryAction extends Action2 {
|
|
|
607
654
|
constructor() {
|
|
608
655
|
super({
|
|
609
656
|
id: OpenWorkingSetHistoryAction.id,
|
|
610
|
-
title: ( localize(
|
|
657
|
+
title: ( localize(5996, "Open File")),
|
|
611
658
|
menu: [{
|
|
612
659
|
id: MenuId.ChatEditingCodeBlockContext,
|
|
613
660
|
group: "navigation",
|
|
@@ -633,7 +680,7 @@ registerAction2(class OpenWorkingSetHistoryAction extends Action2 {
|
|
|
633
680
|
constructor() {
|
|
634
681
|
super({
|
|
635
682
|
id: OpenWorkingSetHistoryAction.id,
|
|
636
|
-
title: ( localize(
|
|
683
|
+
title: ( localize(5997, "Open File Snapshot")),
|
|
637
684
|
menu: [{
|
|
638
685
|
id: MenuId.ChatEditingCodeBlockContext,
|
|
639
686
|
group: "navigation",
|
|
@@ -657,7 +704,7 @@ registerAction2(class OpenWorkingSetHistoryAction extends Action2 {
|
|
|
657
704
|
if (snapshot) {
|
|
658
705
|
const editor = await editorService.openEditor({
|
|
659
706
|
resource: snapshot,
|
|
660
|
-
label: ( localize(
|
|
707
|
+
label: ( localize(5998, "{0} (Snapshot)", basename(context.uri))),
|
|
661
708
|
options: {
|
|
662
709
|
activation: EditorActivation.ACTIVATE
|
|
663
710
|
}
|
|
@@ -674,7 +721,7 @@ registerAction2(class ResolveSymbolsContextAction extends EditingSessionAction {
|
|
|
674
721
|
constructor() {
|
|
675
722
|
super({
|
|
676
723
|
id: "workbench.action.edits.addFilesFromReferences",
|
|
677
|
-
title: ( localize2(
|
|
724
|
+
title: ( localize2(5999, "Add Files From References")),
|
|
678
725
|
f1: false,
|
|
679
726
|
category: CHAT_CATEGORY,
|
|
680
727
|
menu: {
|
|
@@ -693,21 +740,25 @@ registerAction2(class ResolveSymbolsContextAction extends EditingSessionAction {
|
|
|
693
740
|
const languageFeaturesService = accessor.get(ILanguageFeaturesService);
|
|
694
741
|
const symbol = args[0];
|
|
695
742
|
const modelReference = await textModelService.createModelReference(symbol.uri);
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
743
|
+
try {
|
|
744
|
+
const textModel = modelReference.object.textEditorModel;
|
|
745
|
+
if (!textModel) {
|
|
746
|
+
return;
|
|
747
|
+
}
|
|
748
|
+
const position = ( new Position(symbol.range.startLineNumber, symbol.range.startColumn));
|
|
749
|
+
const [references, definitions, implementations] = await Promise.all([
|
|
750
|
+
this.getReferences(position, textModel, languageFeaturesService),
|
|
751
|
+
this.getDefinitions(position, textModel, languageFeaturesService),
|
|
752
|
+
this.getImplementations(position, textModel, languageFeaturesService)
|
|
753
|
+
]);
|
|
754
|
+
const attachments = [];
|
|
755
|
+
for (const reference of [...definitions, ...implementations, ...references]) {
|
|
756
|
+
attachments.push(chatWidget.attachmentModel.asFileVariableEntry(reference.uri));
|
|
757
|
+
}
|
|
758
|
+
chatWidget.attachmentModel.addContext(...attachments);
|
|
759
|
+
} finally {
|
|
760
|
+
modelReference.dispose();
|
|
709
761
|
}
|
|
710
|
-
chatWidget.attachmentModel.addContext(...attachments);
|
|
711
762
|
}
|
|
712
763
|
async getReferences(position, textModel, languageFeaturesService) {
|
|
713
764
|
const referenceProviders = languageFeaturesService.referenceProvider.all(textModel);
|
|
@@ -738,7 +789,7 @@ class ViewPreviousEditsAction extends EditingSessionAction {
|
|
|
738
789
|
this.Id = "chatEditing.viewPreviousEdits";
|
|
739
790
|
}
|
|
740
791
|
static {
|
|
741
|
-
this.Label = ( localize(
|
|
792
|
+
this.Label = ( localize(6000, "View Previous Edits"));
|
|
742
793
|
}
|
|
743
794
|
constructor() {
|
|
744
795
|
super({
|
package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.js
CHANGED
|
@@ -65,7 +65,7 @@ class NavigateAction extends ChatEditingEditorAction {
|
|
|
65
65
|
constructor(next) {
|
|
66
66
|
super({
|
|
67
67
|
id: next ? "chatEditor.action.navigateNext" : "chatEditor.action.navigatePrevious",
|
|
68
|
-
title: next ? ( localize2(
|
|
68
|
+
title: next ? ( localize2(6002, "Go to Next Chat Edit")) : ( localize2(6003, "Go to Previous Chat Edit")),
|
|
69
69
|
icon: next ? Codicon.arrowDown : Codicon.arrowUp,
|
|
70
70
|
precondition: ( ContextKeyExpr.and(ChatContextKeys.enabled, ctxHasEditorModification)),
|
|
71
71
|
keybinding: {
|
|
@@ -129,9 +129,9 @@ class KeepOrUndoAction extends ChatEditingEditorAction {
|
|
|
129
129
|
constructor(id, _keep) {
|
|
130
130
|
super({
|
|
131
131
|
id,
|
|
132
|
-
title: _keep ? ( localize2(
|
|
133
|
-
shortTitle: _keep ? ( localize2(
|
|
134
|
-
tooltip: _keep ? ( localize2(
|
|
132
|
+
title: _keep ? ( localize2(6004, "Keep Chat Edits")) : ( localize2(6005, "Undo Chat Edits")),
|
|
133
|
+
shortTitle: _keep ? ( localize2(6006, "Keep")) : ( localize2(6007, "Undo")),
|
|
134
|
+
tooltip: _keep ? ( localize2(6008, "Keep Chat Edits in this File")) : ( localize2(6009, "Undo Chat Edits in this File")),
|
|
135
135
|
precondition: ( ContextKeyExpr.and(ctxHasEditorModification, ( ctxIsCurrentlyBeingModified.negate()))),
|
|
136
136
|
icon: _keep ? Codicon.check : Codicon.discard,
|
|
137
137
|
f1: true,
|
|
@@ -184,8 +184,8 @@ class AcceptRejectHunkAction extends ChatEditingEditorAction {
|
|
|
184
184
|
constructor(_accept) {
|
|
185
185
|
super({
|
|
186
186
|
id: _accept ? acceptHunkId : undoHunkId,
|
|
187
|
-
title: _accept ? ( localize2(
|
|
188
|
-
shortTitle: _accept ? ( localize2(
|
|
187
|
+
title: _accept ? ( localize2(6010, "Keep this Change")) : ( localize2(6011, "Undo this Change")),
|
|
188
|
+
shortTitle: _accept ? ( localize2(6012, "Keep")) : ( localize2(6013, "Undo")),
|
|
189
189
|
precondition: ( ContextKeyExpr.and(ctxHasEditorModification, ( ctxIsCurrentlyBeingModified.negate()))),
|
|
190
190
|
f1: true,
|
|
191
191
|
keybinding: {
|
|
@@ -233,7 +233,7 @@ class ToggleDiffAction extends ChatEditingEditorAction {
|
|
|
233
233
|
constructor() {
|
|
234
234
|
super({
|
|
235
235
|
id: "chatEditor.action.toggleDiff",
|
|
236
|
-
title: ( localize2(
|
|
236
|
+
title: ( localize2(6014, "Toggle Diff Editor for Chat Edits")),
|
|
237
237
|
category: CHAT_CATEGORY,
|
|
238
238
|
toggled: {
|
|
239
239
|
condition: ( ContextKeyExpr.or(EditorContextKeys.inDiffEditor, ( ActiveEditorContext.isEqualTo(TEXT_DIFF_EDITOR_ID)))),
|
|
@@ -270,7 +270,7 @@ class ToggleAccessibleDiffViewAction extends ChatEditingEditorAction {
|
|
|
270
270
|
constructor() {
|
|
271
271
|
super({
|
|
272
272
|
id: "chatEditor.action.showAccessibleDiffView",
|
|
273
|
-
title: ( localize2(
|
|
273
|
+
title: ( localize2(6015, "Show Accessible Diff View for Chat Edits")),
|
|
274
274
|
f1: true,
|
|
275
275
|
precondition: ( ContextKeyExpr.and(ctxHasEditorModification, ( ctxIsCurrentlyBeingModified.negate()))),
|
|
276
276
|
keybinding: {
|
|
@@ -288,7 +288,7 @@ class ReviewChangesAction extends ChatEditingEditorAction {
|
|
|
288
288
|
constructor() {
|
|
289
289
|
super({
|
|
290
290
|
id: "chatEditor.action.reviewChanges",
|
|
291
|
-
title: ( localize2(
|
|
291
|
+
title: ( localize2(6016, "Review")),
|
|
292
292
|
precondition: ( ContextKeyExpr.and(ctxHasEditorModification, ( ctxIsCurrentlyBeingModified.negate()))),
|
|
293
293
|
menu: [{
|
|
294
294
|
id: MenuId.ChatEditingEditorContent,
|
|
@@ -309,8 +309,8 @@ class AcceptAllEditsAction extends ChatEditingEditorAction {
|
|
|
309
309
|
constructor() {
|
|
310
310
|
super({
|
|
311
311
|
id: AcceptAllEditsAction.ID,
|
|
312
|
-
title: ( localize2(
|
|
313
|
-
tooltip: ( localize2(
|
|
312
|
+
title: ( localize2(6017, "Keep All Chat Edits")),
|
|
313
|
+
tooltip: ( localize2(6018, "Keep All Chat Edits in this Session")),
|
|
314
314
|
precondition: ( ContextKeyExpr.and(ctxHasEditorModification, ( ctxIsCurrentlyBeingModified.negate()))),
|
|
315
315
|
icon: Codicon.checkAll,
|
|
316
316
|
f1: true,
|
|
@@ -329,7 +329,7 @@ class MultiDiffAcceptDiscardAction extends Action2 {
|
|
|
329
329
|
constructor(accept) {
|
|
330
330
|
super({
|
|
331
331
|
id: accept ? "chatEditing.multidiff.acceptAllFiles" : "chatEditing.multidiff.discardAllFiles",
|
|
332
|
-
title: accept ? ( localize(
|
|
332
|
+
title: accept ? ( localize(6019, "Keep All Edits")) : ( localize(6020, "Undo All Edits")),
|
|
333
333
|
icon: accept ? Codicon.check : Codicon.discard,
|
|
334
334
|
menu: {
|
|
335
335
|
when: ( ContextKeyExpr.equals("resourceScheme", CHAT_EDITING_MULTI_DIFF_SOURCE_RESOLVER_SCHEME)),
|
|
@@ -380,7 +380,7 @@ class ExplainMultiDiffAction extends Action2 {
|
|
|
380
380
|
constructor() {
|
|
381
381
|
super({
|
|
382
382
|
id: "chatEditing.multidiff.explain",
|
|
383
|
-
title: ( localize(
|
|
383
|
+
title: ( localize(6021, "Explain")),
|
|
384
384
|
menu: {
|
|
385
385
|
when: ( ContextKeyExpr.and(( ContextKeyExpr.or(...( explainMultiDiffSchemes.map(scheme => ( ContextKeyExpr.equals("resourceScheme", scheme)))))), ( ContextKeyExpr.has(`config.${ChatConfiguration.ExplainChangesEnabled}`)))),
|
|
386
386
|
id: MenuId.MultiDiffEditorContent,
|
|
@@ -526,7 +526,7 @@ function registerChatEditorActions() {
|
|
|
526
526
|
MenuRegistry.appendMenuItem(MenuId.ChatEditingEditorContent, {
|
|
527
527
|
command: {
|
|
528
528
|
id: navigationBearingFakeActionId,
|
|
529
|
-
title: ( localize(
|
|
529
|
+
title: ( localize(6022, "Navigation Status")),
|
|
530
530
|
precondition: ( ContextKeyExpr.false())
|
|
531
531
|
},
|
|
532
532
|
group: "navigate",
|
package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.js
CHANGED
|
@@ -200,9 +200,9 @@ let ChatEditorOverlayWidget = class ChatEditorOverlayWidget extends Disposable {
|
|
|
200
200
|
} = that._navigationBearings.read(r);
|
|
201
201
|
if (changeCount > 0) {
|
|
202
202
|
const n = activeIdx === -1 ? "1" : `${activeIdx + 1}`;
|
|
203
|
-
this.label.innerText = ( localize(
|
|
203
|
+
this.label.innerText = ( localize(6030, "{0} of {1}", n, changeCount));
|
|
204
204
|
} else {
|
|
205
|
-
this.label.innerText = ( localize(
|
|
205
|
+
this.label.innerText = ( localize(6031, "—"));
|
|
206
206
|
}
|
|
207
207
|
this.updateTooltip();
|
|
208
208
|
}));
|
|
@@ -217,18 +217,18 @@ let ChatEditorOverlayWidget = class ChatEditorOverlayWidget extends Disposable {
|
|
|
217
217
|
}
|
|
218
218
|
let result;
|
|
219
219
|
if (changeCount === 1 && entriesCount === 1) {
|
|
220
|
-
result = ( localize(
|
|
220
|
+
result = ( localize(6032, "1 change in 1 file"));
|
|
221
221
|
} else if (changeCount === 1) {
|
|
222
|
-
result = ( localize(
|
|
222
|
+
result = ( localize(6033, "1 change in {0} files", entriesCount));
|
|
223
223
|
} else if (entriesCount === 1) {
|
|
224
|
-
result = ( localize(
|
|
224
|
+
result = ( localize(6034, "{0} changes in 1 file", changeCount));
|
|
225
225
|
} else {
|
|
226
|
-
result = ( localize(
|
|
226
|
+
result = ( localize(6035, "{0} changes in {1} files", changeCount, entriesCount));
|
|
227
227
|
}
|
|
228
228
|
if (!that._isBusy.get()) {
|
|
229
229
|
return result;
|
|
230
230
|
}
|
|
231
|
-
return localize(
|
|
231
|
+
return localize(6036, "{0} - Working...", result);
|
|
232
232
|
}
|
|
233
233
|
})();
|
|
234
234
|
}
|
package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationWidget.js
CHANGED
|
@@ -95,7 +95,7 @@ class ChatEditingExplanationWidget extends Disposable {
|
|
|
95
95
|
return {
|
|
96
96
|
startLineNumber: change.modified.startLineNumber,
|
|
97
97
|
endLineNumber: change.modified.endLineNumberExclusive - 1,
|
|
98
|
-
explanation: ( localize(
|
|
98
|
+
explanation: ( localize(6040, "Generating explanation...")),
|
|
99
99
|
read: false,
|
|
100
100
|
loading: true,
|
|
101
101
|
originalText,
|
|
@@ -116,7 +116,7 @@ class ChatEditingExplanationWidget extends Disposable {
|
|
|
116
116
|
this._headerNode.appendChild(this._toggleButton);
|
|
117
117
|
this._dismissButton = $("div.chat-explanation-dismiss");
|
|
118
118
|
this._dismissButton.appendChild(renderIcon(Codicon.close));
|
|
119
|
-
this._dismissButton.title = ( localize(
|
|
119
|
+
this._dismissButton.title = ( localize(6041, "Dismiss"));
|
|
120
120
|
this._headerNode.appendChild(this._dismissButton);
|
|
121
121
|
this._domNode.appendChild(this._headerNode);
|
|
122
122
|
this._bodyNode = $("div.chat-explanation-body");
|
|
@@ -178,35 +178,35 @@ class ChatEditingExplanationWidget extends Disposable {
|
|
|
178
178
|
this._readIndicator.appendChild(renderIcon(Codicon.circle));
|
|
179
179
|
this._readIndicator.classList.add("read");
|
|
180
180
|
this._readIndicator.classList.remove("partial", "unread");
|
|
181
|
-
this._readIndicator.title = ( localize(
|
|
181
|
+
this._readIndicator.title = ( localize(6042, "Mark as unread"));
|
|
182
182
|
} else if (someRead) {
|
|
183
183
|
this._readIndicator.appendChild(renderIcon(Codicon.circleFilled));
|
|
184
184
|
this._readIndicator.classList.remove("read", "unread");
|
|
185
185
|
this._readIndicator.classList.add("partial");
|
|
186
|
-
this._readIndicator.title = ( localize(
|
|
186
|
+
this._readIndicator.title = ( localize(6043, "Mark all as read"));
|
|
187
187
|
} else {
|
|
188
188
|
this._readIndicator.appendChild(renderIcon(Codicon.circleFilled));
|
|
189
189
|
this._readIndicator.classList.remove("read", "partial");
|
|
190
190
|
this._readIndicator.classList.add("unread");
|
|
191
|
-
this._readIndicator.title = ( localize(
|
|
191
|
+
this._readIndicator.title = ( localize(6044, "Mark as read"));
|
|
192
192
|
}
|
|
193
193
|
}
|
|
194
194
|
_updateTitle() {
|
|
195
195
|
const count = this._explanations.length;
|
|
196
196
|
if (count === 1) {
|
|
197
|
-
this._titleNode.textContent = ( localize(
|
|
197
|
+
this._titleNode.textContent = ( localize(6045, "1 change"));
|
|
198
198
|
} else {
|
|
199
|
-
this._titleNode.textContent = ( localize(
|
|
199
|
+
this._titleNode.textContent = ( localize(6046, "{0} changes", count));
|
|
200
200
|
}
|
|
201
201
|
}
|
|
202
202
|
_updateToggleButton() {
|
|
203
203
|
clearNode(this._toggleButton);
|
|
204
204
|
if (this._isExpanded) {
|
|
205
205
|
this._toggleButton.appendChild(renderIcon(Codicon.chevronUp));
|
|
206
|
-
this._toggleButton.title = ( localize(
|
|
206
|
+
this._toggleButton.title = ( localize(6047, "Collapse"));
|
|
207
207
|
} else {
|
|
208
208
|
this._toggleButton.appendChild(renderIcon(Codicon.chevronDown));
|
|
209
|
-
this._toggleButton.title = ( localize(
|
|
209
|
+
this._toggleButton.title = ( localize(6048, "Expand"));
|
|
210
210
|
}
|
|
211
211
|
}
|
|
212
212
|
_buildExplanationItems() {
|
|
@@ -217,9 +217,9 @@ class ChatEditingExplanationWidget extends Disposable {
|
|
|
217
217
|
const item = $("div.chat-explanation-item");
|
|
218
218
|
const lineInfo = $("span.chat-explanation-line-info");
|
|
219
219
|
if (exp.startLineNumber === exp.endLineNumber) {
|
|
220
|
-
lineInfo.textContent = ( localize(
|
|
220
|
+
lineInfo.textContent = ( localize(6049, "Line {0}", exp.startLineNumber));
|
|
221
221
|
} else {
|
|
222
|
-
lineInfo.textContent = ( localize(
|
|
222
|
+
lineInfo.textContent = ( localize(6050, "Lines {0}-{1}", exp.startLineNumber, exp.endLineNumber));
|
|
223
223
|
}
|
|
224
224
|
item.appendChild(lineInfo);
|
|
225
225
|
const text = $("span.chat-explanation-text");
|
|
@@ -238,7 +238,7 @@ class ChatEditingExplanationWidget extends Disposable {
|
|
|
238
238
|
item.appendChild(itemReadIndicator);
|
|
239
239
|
const replyButton = $("div.chat-explanation-reply-button");
|
|
240
240
|
replyButton.appendChild(renderIcon(Codicon.arrowRight));
|
|
241
|
-
replyButton.title = ( localize(
|
|
241
|
+
replyButton.title = ( localize(6051, "Follow up on this change"));
|
|
242
242
|
item.appendChild(replyButton);
|
|
243
243
|
this._eventStore.add(addDisposableListener(replyButton, "click", async e => {
|
|
244
244
|
e.stopPropagation();
|
package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessionPickerActionItem.js
CHANGED
|
@@ -151,7 +151,7 @@ let ChatSessionPickerActionItem = class ChatSessionPickerActionItem extends Acti
|
|
|
151
151
|
domChildren.push($(
|
|
152
152
|
"span.chat-session-option-label",
|
|
153
153
|
undefined,
|
|
154
|
-
this.currentOption?.name ?? group?.description ?? ( localize(
|
|
154
|
+
this.currentOption?.name ?? group?.description ?? ( localize(6192, "Pick Option"))
|
|
155
155
|
));
|
|
156
156
|
}
|
|
157
157
|
domChildren.push(...renderLabelWithIcons(`$(chevron-down)`));
|