Path: blob/main/src/vs/workbench/contrib/debug/common/replAccessibilityAnnouncer.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 { Disposable } from '../../../../base/common/lifecycle.js';6import { IAccessibilityService } from '../../../../platform/accessibility/common/accessibility.js';7import { ILogService } from '../../../../platform/log/common/log.js';8import { IWorkbenchContribution } from '../../../common/contributions.js';9import { IDebugService } from './debug.js';1011export class ReplAccessibilityAnnouncer extends Disposable implements IWorkbenchContribution {12static ID = 'debug.replAccessibilityAnnouncer';13constructor(14@IDebugService debugService: IDebugService,15@IAccessibilityService accessibilityService: IAccessibilityService,16@ILogService logService: ILogService17) {18super();19const viewModel = debugService.getViewModel();20this._register(viewModel.onDidFocusSession((session) => {21if (!session) {22return;23}24this._register(session.onDidChangeReplElements((element) => {25if (!element || !('originalExpression' in element)) {26// element was removed or hasn't been resolved yet27return;28}29const value = element.toString();30accessibilityService.status(value);31logService.trace('ReplAccessibilityAnnouncer#onDidChangeReplElements', element.originalExpression + ': ' + value);32}));33}));34}35}363738