mirror of
https://github.com/microsoft/vscode.git
synced 2026-08-29 17:41:32 +01:00
rm command, handle hiding accessible buffer in that class
This commit is contained in:
@@ -478,6 +478,11 @@ export function registerTerminalActions() {
|
||||
registerTerminalAction({
|
||||
id: TerminalCommandId.Focus,
|
||||
title: terminalStrings.focus,
|
||||
keybinding: {
|
||||
when: ContextKeyExpr.and(CONTEXT_ACCESSIBILITY_MODE_ENABLED, TerminalContextKeys.accessibleBufferOnLastLine),
|
||||
primary: KeyMod.CtrlCmd | KeyCode.DownArrow,
|
||||
weight: KeybindingWeight.WorkbenchContrib
|
||||
},
|
||||
precondition: ContextKeyExpr.or(TerminalContextKeys.processSupported, TerminalContextKeys.terminalHasBeenCreated),
|
||||
run: async (c) => {
|
||||
const instance = c.service.activeInstance || await c.service.createTerminal({ location: TerminalLocation.Panel });
|
||||
|
||||
@@ -495,7 +495,6 @@ export const enum TerminalCommandId {
|
||||
HideSuggestWidget = 'workbench.action.terminal.hideSuggestWidget',
|
||||
FocusHover = 'workbench.action.terminal.focusHover',
|
||||
ShowEnvironmentContributions = 'workbench.action.terminal.showEnvironmentContributions',
|
||||
FocusAndHideAccessibleBuffer = 'workbench.action.terminal.focusAndHideAccessibleBuffer',
|
||||
|
||||
// Developer commands
|
||||
|
||||
@@ -570,7 +569,6 @@ export const DEFAULT_COMMANDS_TO_SKIP_SHELL: string[] = [
|
||||
TerminalCommandId.HideSuggestWidget,
|
||||
TerminalCommandId.FocusHover,
|
||||
AccessibilityCommandId.OpenAccessibilityHelp,
|
||||
TerminalCommandId.FocusAndHideAccessibleBuffer,
|
||||
'editor.action.toggleTabFocusMode',
|
||||
'notifications.hideList',
|
||||
'notifications.hideToasts',
|
||||
|
||||
+1
-19
@@ -11,7 +11,7 @@ import { ContextKeyExpr } from 'vs/platform/contextkey/common/contextkey';
|
||||
import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
|
||||
import { KeybindingWeight } from 'vs/platform/keybinding/common/keybindingsRegistry';
|
||||
import { IQuickPick, IQuickPickItem } from 'vs/platform/quickinput/common/quickInput';
|
||||
import { TerminalLocation, terminalTabFocusModeContextKey } from 'vs/platform/terminal/common/terminal';
|
||||
import { terminalTabFocusModeContextKey } from 'vs/platform/terminal/common/terminal';
|
||||
import { IAccessibleViewService } from 'vs/workbench/contrib/accessibility/browser/accessibleView';
|
||||
import { AccessibilityHelpAction } from 'vs/workbench/contrib/accessibility/browser/accessibleViewActions';
|
||||
import { ITerminalContribution, ITerminalInstance, ITerminalService, IXtermTerminal } from 'vs/workbench/contrib/terminal/browser/terminal';
|
||||
@@ -20,7 +20,6 @@ import { registerTerminalContribution } from 'vs/workbench/contrib/terminal/brow
|
||||
import { TerminalWidgetManager } from 'vs/workbench/contrib/terminal/browser/widgets/widgetManager';
|
||||
import { ITerminalProcessManager, TerminalCommandId } from 'vs/workbench/contrib/terminal/common/terminal';
|
||||
import { TerminalContextKeys } from 'vs/workbench/contrib/terminal/common/terminalContextKey';
|
||||
import { terminalStrings } from 'vs/workbench/contrib/terminal/common/terminalStrings';
|
||||
import { TerminalAccessibleContentProvider } from 'vs/workbench/contrib/terminalContrib/accessibility/browser/terminalAccessibilityHelp';
|
||||
import { AccessibleBufferWidget, NavigationType } from 'vs/workbench/contrib/terminalContrib/accessibility/browser/terminalAccessibleBuffer';
|
||||
import { TextAreaSyncAddon } from 'vs/workbench/contrib/terminalContrib/accessibility/browser/textAreaSyncAddon';
|
||||
@@ -207,20 +206,3 @@ registerTerminalAction({
|
||||
await AccessibleBufferContribution.get(instance)?.navigateToCommand(NavigationType.Previous);
|
||||
}
|
||||
});
|
||||
|
||||
registerTerminalAction({
|
||||
id: TerminalCommandId.FocusAndHideAccessibleBuffer,
|
||||
title: terminalStrings.focusAndHideAccessibleBuffer,
|
||||
f1: false,
|
||||
keybinding: {
|
||||
when: ContextKeyExpr.and(TerminalContextKeys.accessibleBufferFocus, TerminalContextKeys.accessibleBufferOnLastLine),
|
||||
primary: KeyMod.CtrlCmd | KeyCode.DownArrow,
|
||||
weight: KeybindingWeight.WorkbenchContrib
|
||||
},
|
||||
precondition: ContextKeyExpr.or(TerminalContextKeys.processSupported, TerminalContextKeys.terminalHasBeenCreated),
|
||||
run: async (c) => {
|
||||
const instance = c.service.activeInstance || await c.service.createTerminal({ location: TerminalLocation.Panel });
|
||||
instance.getContribution<AccessibleBufferContribution>(AccessibleBufferContribution.ID)?.hide();
|
||||
instance.focus(true);
|
||||
}
|
||||
});
|
||||
|
||||
+1
@@ -60,6 +60,7 @@ export class AccessibleBufferWidget extends TerminalAccessibleWidget {
|
||||
super(ClassName.AccessibleBuffer, _instance, _xterm, TerminalContextKeys.accessibleBufferFocus, TerminalContextKeys.accessibleBufferOnLastLine, _instantiationService, _modelService, _configurationService, _contextKeyService, _terminalService);
|
||||
this._bufferTracker = _instantiationService.createInstance(BufferContentTracker, _xterm);
|
||||
this.element.ariaRoleDescription = localize('terminal.integrated.accessibleBuffer', 'Terminal buffer');
|
||||
_instance.onDidRequestFocus(() => this.hide(true));
|
||||
this.updateEditor();
|
||||
this.add(this.editorWidget.onDidFocusEditorText(async () => {
|
||||
if (this.element.classList.contains(ClassName.Active)) {
|
||||
|
||||
+5
-3
@@ -116,8 +116,7 @@ export abstract class TerminalAccessibleWidget extends DisposableStore {
|
||||
switch (e.keyCode) {
|
||||
case KeyCode.Escape:
|
||||
// On escape, hide the accessible buffer and force focus onto the terminal
|
||||
this.hide();
|
||||
this._xterm.raw.focus();
|
||||
this.hide(true);
|
||||
break;
|
||||
case KeyCode.Tab:
|
||||
// On tab or shift+tab, hide the accessible buffer and perform the default tab
|
||||
@@ -163,10 +162,13 @@ export abstract class TerminalAccessibleWidget extends DisposableStore {
|
||||
}
|
||||
}
|
||||
|
||||
hide(): void {
|
||||
hide(focusXterm?: boolean): void {
|
||||
this._disposeListeners();
|
||||
this.element.classList.remove(ClassName.Active);
|
||||
this._xtermElement.classList.remove(ClassName.Hide);
|
||||
if (focusXterm) {
|
||||
this._xterm.raw.focus();
|
||||
}
|
||||
}
|
||||
|
||||
async getTextModel(resource: URI): Promise<ITextModel | null> {
|
||||
|
||||
Reference in New Issue
Block a user