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