Skip to content

Commit 71cab13

Browse files
committed
Make KeybindingsEditor widget navigatable
1 parent 872a821 commit 71cab13

File tree

1 file changed

+18
-0
lines changed

1 file changed

+18
-0
lines changed

src/vs/workbench/contrib/preferences/browser/keybindingsEditor.ts

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@ import { CompletionItemKind } from 'vs/editor/common/languages';
5656
import { settingsTextInputBorder } from 'vs/workbench/contrib/preferences/common/settingsEditorColorRegistry';
5757
import { IConfigurationService } from 'vs/platform/configuration/common/configuration';
5858
import { AccessibilityVerbositySettingId } from 'vs/workbench/contrib/accessibility/browser/accessibilityContribution';
59+
import { registerNavigatableContainer } from 'vs/workbench/browser/actions/widgetNavigationCommands';
5960

6061
const $ = DOM.$;
6162

@@ -134,6 +135,23 @@ export class KeybindingsEditor extends EditorPane implements IKeybindingsEditorP
134135
this.overflowWidgetsDomNode = $('.keybindings-overflow-widgets-container.monaco-editor');
135136
}
136137

138+
override create(parent: HTMLElement): void {
139+
super.create(parent);
140+
this._register(registerNavigatableContainer({
141+
focusNotifiers: [this],
142+
focusNextWidget: () => {
143+
if (this.searchWidget.hasFocus()) {
144+
this.focusKeybindings();
145+
}
146+
},
147+
focusPreviousWidget: () => {
148+
if (!this.searchWidget.hasFocus()) {
149+
this.focusSearch();
150+
}
151+
}
152+
}));
153+
}
154+
137155
protected createEditor(parent: HTMLElement): void {
138156
const keybindingsEditorElement = DOM.append(parent, $('div', { class: 'keybindings-editor' }));
139157

0 commit comments

Comments
 (0)