diff --git a/src/vs/workbench/contrib/accessibility/browser/accessibleView.ts b/src/vs/workbench/contrib/accessibility/browser/accessibleView.ts index e93c7388477..4cd53c0cf1a 100644 --- a/src/vs/workbench/contrib/accessibility/browser/accessibleView.ts +++ b/src/vs/workbench/contrib/accessibility/browser/accessibleView.ts @@ -102,6 +102,7 @@ export interface IAccessibleViewOptions { language?: string; type: AccessibleViewType; positionBottom?: boolean; + customHelp?: () => string; } export class AccessibleView extends Disposable { @@ -506,9 +507,10 @@ export class AccessibleView extends Disposable { } const currentProvider = Object.assign({}, this._currentProvider); + currentProvider.provideContent = this._currentProvider.provideContent.bind(currentProvider); currentProvider.options = Object.assign({}, currentProvider.options); const accessibleViewHelpProvider: IAccessibleContentProvider = { - provideContent: () => this._getAccessibleViewHelpDialogContent(this._goToSymbolsSupported()), + provideContent: () => currentProvider.options.customHelp ? currentProvider?.options.customHelp() : this._getAccessibleViewHelpDialogContent(this._goToSymbolsSupported()), onClose: () => this.show(currentProvider), options: { type: AccessibleViewType.Help }, verbositySettingKey: this._currentProvider.verbositySettingKey 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 f4cd2e45dc5..047c6f13d12 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 @@ -119,7 +119,9 @@ export class TerminalAccessibleViewContribution extends Disposable implements IT this._bufferTracker = this._register(this._instantiationService.createInstance(BufferContentTracker, this._xterm)); } if (!this._bufferProvider) { - this._bufferProvider = this._register(this._instantiationService.createInstance(TerminalAccessibleBufferProvider, this._instance, this._bufferTracker)); + this._bufferProvider = this._register(this._instantiationService.createInstance(TerminalAccessibleBufferProvider, this._instance, this._bufferTracker, () => { + return this._register(this._instantiationService.createInstance(TerminalAccessibleContentProvider, this._instance, this._xterm!)).provideContent(); + })); } this._accessibleViewService.show(this._bufferProvider); } diff --git a/src/vs/workbench/contrib/terminalContrib/accessibility/browser/terminalAccessibleBufferProvider.ts b/src/vs/workbench/contrib/terminalContrib/accessibility/browser/terminalAccessibleBufferProvider.ts index 7e2a63b3759..edf13c9328c 100644 --- a/src/vs/workbench/contrib/terminalContrib/accessibility/browser/terminalAccessibleBufferProvider.ts +++ b/src/vs/workbench/contrib/terminalContrib/accessibility/browser/terminalAccessibleBufferProvider.ts @@ -22,12 +22,14 @@ export class TerminalAccessibleBufferProvider extends DisposableStore implements constructor( private readonly _instance: Pick, private _bufferTracker: BufferContentTracker, + customHelp: () => string, @IModelService _modelService: IModelService, @IConfigurationService _configurationService: IConfigurationService, @IContextKeyService _contextKeyService: IContextKeyService, @ITerminalService _terminalService: ITerminalService ) { super(); + this.options.customHelp = customHelp; } onClose() {