Path: blob/main/src/vs/workbench/contrib/inlineChat/browser/inlineChatAccessibilityHelp.ts
3296 views
/*---------------------------------------------------------------------------------------------1* Copyright (c) Microsoft Corporation. All rights reserved.2* Licensed under the MIT License. See License.txt in the project root for license information.3*--------------------------------------------------------------------------------------------*/45import { ServicesAccessor } from '../../../../editor/browser/editorExtensions.js';6import { ICodeEditorService } from '../../../../editor/browser/services/codeEditorService.js';7import { AccessibleViewType } from '../../../../platform/accessibility/browser/accessibleView.js';8import { IAccessibleViewImplementation } from '../../../../platform/accessibility/browser/accessibleViewRegistry.js';9import { ContextKeyExpr } from '../../../../platform/contextkey/common/contextkey.js';10import { getChatAccessibilityHelpProvider } from '../../chat/browser/actions/chatAccessibilityHelp.js';11import { ChatContextKeys } from '../../chat/common/chatContextKeys.js';12import { CTX_INLINE_CHAT_RESPONSE_FOCUSED } from '../common/inlineChat.js';1314export class InlineChatAccessibilityHelp implements IAccessibleViewImplementation {15readonly priority = 106;16readonly name = 'inlineChat';17readonly type = AccessibleViewType.Help;18readonly when = ContextKeyExpr.or(CTX_INLINE_CHAT_RESPONSE_FOCUSED, ChatContextKeys.inputHasFocus);19getProvider(accessor: ServicesAccessor) {20const codeEditor = accessor.get(ICodeEditorService).getActiveCodeEditor() || accessor.get(ICodeEditorService).getFocusedCodeEditor();21if (!codeEditor) {22return;23}24return getChatAccessibilityHelpProvider(accessor, codeEditor, 'inlineChat');25}26}272829