ZIm/crates/settings/src
Ben Kunkle deb2564b31
gpui: Add keybind metadata API (#33316)
Closes #ISSUE

Adds a very simple API to track metadata about keybindings in GPUI,
namely the source of the binding. The motivation for this is displaying
the source of keybindings in the [keymap
UI](https://github.com/zed-industries/zed/pull/32436).

The API is designed to be as simple and flexible as possible, storing
only a `Option<u32>` on the bindings themselves to keep the struct
small. It is intended to be used as an index or key into a table/map
created and managed by the consumer of the API to map from indices to
arbitrary meta-data. I.e. the consumer is responsible for both
generating these indices and giving them meaning.

The current usage in Zed is stateless, just a mapping between constants
and User, Default, Base, and Vim keymap sources, however, this can be
extended in the future to also track _which_ base keymap is being used.

Release Notes:

- N/A *or* Added/Fixed/Improved ...
2025-06-24 16:07:45 +00:00
..
editable_setting_control.rs chore: Bump Rust edition to 2024 (#27800) 2025-03-31 20:55:27 +02:00
json_schema.rs Rust 1.85 (#25272) 2025-02-28 18:33:35 +01:00
key_equivalents.rs Move git status out of Entry (#22224) 2025-01-04 01:00:16 +00:00
keymap_file.rs gpui: Add keybind metadata API (#33316) 2025-06-24 16:07:45 +00:00
settings.rs gpui: Add keybind metadata API (#33316) 2025-06-24 16:07:45 +00:00
settings_file.rs chore: Bump Rust edition to 2024 (#27800) 2025-03-31 20:55:27 +02:00
settings_store.rs agent: Improve the UX around interacting with MCP servers (#32622) 2025-06-18 22:52:40 +00:00
vscode_import.rs Improve logic for finding VSCode / Cursor settings files (#32721) 2025-06-14 21:39:54 -06:00