diff --git a/src/vs/workbench/contrib/terminalContrib/accessibility/browser/terminal.accessibility.contribution.ts b/src/vs/workbench/contrib/terminalContrib/accessibility/browser/terminal.accessibility.contribution.ts index ac7a6c4c912..88e56b61679 100644 --- a/src/vs/workbench/contrib/terminalContrib/accessibility/browser/terminal.accessibility.contribution.ts +++ b/src/vs/workbench/contrib/terminalContrib/accessibility/browser/terminal.accessibility.contribution.ts @@ -30,6 +30,7 @@ import { Position } from 'vs/editor/common/core/position'; import { ICommandWithEditorLine, TerminalAccessibleBufferProvider } from 'vs/workbench/contrib/terminalContrib/accessibility/browser/terminalAccessibleBufferProvider'; import { IConfigurationService } from 'vs/platform/configuration/common/configuration'; import { TerminalSettingId } from 'vs/platform/terminal/common/terminal'; +import { Event } from 'vs/base/common/event'; class TextAreaSyncContribution extends DisposableStore implements ITerminalContribution { static readonly ID = 'terminal.textAreaSync'; @@ -90,6 +91,14 @@ export class TerminalAccessibleViewContribution extends Disposable implements IT xterm.raw.loadAddon(addon); addon.activate(xterm.raw); this._xterm = xterm; + this._register(this._xterm.raw.onWriteParsed(async () => { + if (this._xterm!.raw.buffer.active.baseY === 0) { + this._bufferTracker?.update(); + this.show(); + } + })); + const onRequestUpdateEditor = Event.latch(this._xterm.raw.onScroll); + this._register(onRequestUpdateEditor(() => this.show())); } show(): void { if (!this._xterm) { diff --git a/src/vs/workbench/contrib/terminalContrib/accessibility/browser/terminalAccessibleBufferProvider.ts b/src/vs/workbench/contrib/terminalContrib/accessibility/browser/terminalAccessibleBufferProvider.ts index 3b13dc83dd5..7b870c37e52 100644 --- a/src/vs/workbench/contrib/terminalContrib/accessibility/browser/terminalAccessibleBufferProvider.ts +++ b/src/vs/workbench/contrib/terminalContrib/accessibility/browser/terminalAccessibleBufferProvider.ts @@ -10,11 +10,10 @@ import { IContextKeyService } from 'vs/platform/contextkey/common/contextkey'; import { TerminalCapability, ITerminalCommand } from 'vs/platform/terminal/common/capabilities/capabilities'; import { ICurrentPartialCommand } from 'vs/platform/terminal/common/capabilities/commandDetectionCapability'; import { AccessibilityVerbositySettingId } from 'vs/workbench/contrib/accessibility/browser/accessibilityConfiguration'; -import { AccessibleViewType, IAccessibleContentProvider, IAccessibleViewOptions, IAccessibleViewService, IAccessibleViewSymbol } from 'vs/workbench/contrib/accessibility/browser/accessibleView'; +import { AccessibleViewType, IAccessibleContentProvider, IAccessibleViewOptions, IAccessibleViewSymbol } from 'vs/workbench/contrib/accessibility/browser/accessibleView'; import { IXtermTerminal, ITerminalInstance, ITerminalService } from 'vs/workbench/contrib/terminal/browser/terminal'; import { BufferContentTracker } from 'vs/workbench/contrib/terminalContrib/accessibility/browser/bufferContentTracker'; import type { Terminal } from 'xterm'; -import { Event } from 'vs/base/common/event'; export class TerminalAccessibleBufferProvider extends DisposableStore implements IAccessibleContentProvider { options: IAccessibleViewOptions = { type: AccessibleViewType.View, language: 'terminal' }; @@ -27,11 +26,9 @@ export class TerminalAccessibleBufferProvider extends DisposableStore implements @IConfigurationService _configurationService: IConfigurationService, @IContextKeyService _contextKeyService: IContextKeyService, @ITerminalService _terminalService: ITerminalService, - @IConfigurationService configurationService: IConfigurationService, - @IAccessibleViewService private readonly _accessibleViewService: IAccessibleViewService + @IConfigurationService configurationService: IConfigurationService ) { super(); - this.registerListeners(); } onClose() { @@ -41,14 +38,7 @@ export class TerminalAccessibleBufferProvider extends DisposableStore implements if (!this._xterm) { return; } - this._xterm.raw.onWriteParsed(async () => { - if (this._xterm!.raw.buffer.active.baseY === 0) { - this._bufferTracker.update(); - this._accessibleViewService.show(this); - } - }); - const onRequestUpdateEditor = Event.latch(this._xterm.raw.onScroll); - this.add(onRequestUpdateEditor(() => this._accessibleViewService.show(this))); + } provideContent(): string {