Skip to content

feat: add basic keybindings support

Administrator requested to merge keybindings into master

Created by: sqs

fix https://github.com/sourcegraph/enterprise/issues/12907 depends on https://github.com/sourcegraph/extensions-client-common/pull/58

This adds basic keybindings support. The command palette is now triggered by the keybindings defined in keybindings.ts instead of by a manual keyboard event listener. The immediate goal is to fix https://github.com/sourcegraph/enterprise/issues/12907.

It uses @shopify/react-shortcuts, which was the most appropriate library I found for doing this. Other libraries (such as react-hotkeys) did not support global hotkeys, used a deprecated underlying lib (mousetrap), or were poorly documented/supported.

There is future work to be done in supporting keybindings defined by extensions, and much more in this general area.

Merge request reports

Loading