Skip to content

Commit aea7c5b

Browse files
committed
Make Repl widget navigatable
1 parent 070fa59 commit aea7c5b

File tree

1 file changed

+22
-0
lines changed
  • src/vs/workbench/contrib/debug/browser

1 file changed

+22
-0
lines changed

src/vs/workbench/contrib/debug/browser/repl.ts

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,7 @@ import { CONTEXT_DEBUG_STATE, CONTEXT_IN_DEBUG_REPL, CONTEXT_MULTI_SESSION_REPL,
6868
import { Variable } from 'vs/workbench/contrib/debug/common/debugModel';
6969
import { ReplEvaluationResult, ReplGroup } from 'vs/workbench/contrib/debug/common/replModel';
7070
import { IEditorService } from 'vs/workbench/services/editor/common/editorService';
71+
import { registerNavigatableContainer } from 'vs/workbench/browser/actions/widgetNavigationCommands';
7172

7273
const $ = dom.$;
7374

@@ -563,6 +564,27 @@ export class Repl extends FilterViewPane implements IHistoryNavigationWidget {
563564

564565
// --- Creation
565566

567+
override render(): void {
568+
super.render();
569+
this._register(registerNavigatableContainer({
570+
focusNotifiers: [this, this.filterWidget],
571+
focusNextWidget: () => {
572+
if (this.filterWidget.hasFocus()) {
573+
this.tree?.domFocus();
574+
} else if (this.tree?.getHTMLElement() === document.activeElement) {
575+
this.focus();
576+
}
577+
},
578+
focusPreviousWidget: () => {
579+
if (this.replInput.hasTextFocus()) {
580+
this.tree?.domFocus();
581+
} else if (this.tree?.getHTMLElement() === document.activeElement) {
582+
this.focusFilter();
583+
}
584+
}
585+
}));
586+
}
587+
566588
protected override renderBody(parent: HTMLElement): void {
567589
super.renderBody(parent);
568590
this.container = dom.append(parent, $('.repl'));

0 commit comments

Comments
 (0)