This commit is contained in:
meganrogge 2023-06-28 10:47:30 -07:00
parent 2b5fad6158
commit 0ab28d6724
No known key found for this signature in database
GPG key ID: AA74638D4878183D

View file

@ -39,7 +39,6 @@ import { registerMoveActions } from 'vs/workbench/contrib/chat/browser/actions/c
import { registerClearActions } from 'vs/workbench/contrib/chat/browser/actions/chatClearActions';
import { AccessibleViewAction } from 'vs/workbench/contrib/accessibility/browser/accessibilityContribution';
import { AccessibleViewType, IAccessibleViewService } from 'vs/workbench/contrib/accessibility/browser/accessibleView';
import { ICodeEditorService } from 'vs/editor/browser/services/codeEditorService';
import { IChatResponseViewModel, isResponseVM } from 'vs/workbench/contrib/chat/common/chatViewModel';
import { CONTEXT_IN_CHAT_SESSION } from 'vs/workbench/contrib/chat/common/chatContextKeys';
import { ChatAccessibilityService } from 'vs/workbench/contrib/chat/browser/chatAccessibilityService';
@ -125,25 +124,15 @@ class ChatAccessibleViewContribution extends Disposable {
super();
this._register(AccessibleViewAction.addImplementation(100, 'panelChat', accessor => {
const accessibleViewService = accessor.get(IAccessibleViewService);
const codeEditorService = accessor.get(ICodeEditorService);
const editor = codeEditorService.getActiveCodeEditor() || codeEditorService.getFocusedCodeEditor();
const widgetService = accessor.get(IChatWidgetService);
const editorUri = editor?.getModel()?.uri;
const widget: IChatWidget | undefined = widgetService.lastFocusedWidget;
const focusedItem: ChatTreeItem | undefined = widget?.getFocus();
if (!widget || !focusedItem) {
return false;
}
const codeBlockInfo = editorUri ? widget!.getCodeBlockInfoForEditor(editorUri) : undefined;
let responseItem: ChatTreeItem | undefined;
if (codeBlockInfo) {
responseItem = codeBlockInfo.element;
} else {
responseItem = widget!.viewModel?.getItems().reverse().find((item): item is IChatResponseViewModel => isResponseVM(item));
}
if (!isResponseVM(responseItem)) {
return false;
}
const responseItem: ChatTreeItem | undefined = widget.viewModel?.getItems().find((item): item is IChatResponseViewModel => isResponseVM(item) && item.id === focusedItem?.id);
const responseContent = responseItem?.response.value;
if (!responseContent) {
return false;