Michael Sloan
711dc21eb2
Load all key bindings that parse and use markdown in error notifications ( #23113 )
...
* Collects and reports all parse errors
* Shares parsed `KeyBindingContextPredicate` among the actions.
* Updates gpui keybinding and action parsing to return structured
errors.
* Renames "block" to "section" to match the docs, as types like
`KeymapSection` are shown in `json-language-server` hovers.
* Removes wrapping of `context` and `use_key_equivalents` fields so that
`json-language-server` auto-inserts `""` and `false` instead of `null`.
* Updates `add_to_cx` to take `&self`, so that the user keymap doesn't
get unnecessarily cloned.
In retrospect I wish I'd just switched to using TreeSitter to do the
parsing and provide proper diagnostics. This is tracked in #23333
Release Notes:
- Improved handling of errors within the user keymap file. Parse errors
within context, keystrokes, or actions no longer prevent loading the key
bindings that do parse.
2025-01-18 22:27:08 +00:00
..
2025-01-17 17:39:22 +01:00
2025-01-17 17:39:22 +01:00
2025-01-17 17:39:22 +01:00
2025-01-18 21:50:07 +00:00
2025-01-18 21:50:07 +00:00
2025-01-17 17:39:22 +01:00
2025-01-17 17:39:22 +01:00
2025-01-17 17:39:22 +01:00
2025-01-17 17:39:22 +01:00
2025-01-17 17:39:22 +01:00
2025-01-17 17:39:22 +01:00
2025-01-17 17:39:22 +01:00
2025-01-17 17:39:22 +01:00
2025-01-17 17:39:22 +01:00
2025-01-18 22:57:17 +02:00
2025-01-18 22:57:17 +02:00
2025-01-17 17:39:22 +01:00
2025-01-18 22:57:17 +02:00
2025-01-17 17:39:22 +01:00
2025-01-18 22:27:08 +00:00
2025-01-18 22:57:17 +02:00
2025-01-17 17:39:22 +01:00
2025-01-18 22:27:08 +00:00
2025-01-17 17:39:22 +01:00
2025-01-17 17:39:22 +01:00
2025-01-17 17:39:22 +01:00
2025-01-17 17:39:22 +01:00
2025-01-17 17:39:22 +01:00
2025-01-17 17:39:22 +01:00
2025-01-18 22:27:08 +00:00
2025-01-18 21:50:07 +00:00
2025-01-17 17:39:22 +01:00
2025-01-17 17:39:22 +01:00
2025-01-17 17:39:22 +01:00
2025-01-17 17:39:22 +01:00
2025-01-17 17:39:22 +01:00
2025-01-17 17:39:22 +01:00
2025-01-17 17:39:22 +01:00
2025-01-17 17:39:22 +01:00
2025-01-17 17:39:22 +01:00
2025-01-17 17:39:22 +01:00
2025-01-17 17:39:22 +01:00
2025-01-17 17:39:22 +01:00
2025-01-17 17:39:22 +01:00
2025-01-17 17:39:22 +01:00
2025-01-17 18:51:20 +00:00
2025-01-17 17:39:22 +01:00
2025-01-18 22:57:17 +02:00
2025-01-17 17:39:22 +01:00
2025-01-17 17:39:22 +01:00
2025-01-18 22:27:08 +00:00
2025-01-17 17:39:22 +01:00
2025-01-17 17:57:13 +00:00
2025-01-17 17:39:22 +01:00
2025-01-17 17:39:22 +01:00
2025-01-17 17:39:22 +01:00
2025-01-17 17:39:22 +01:00
2025-01-17 17:39:22 +01:00
2025-01-17 17:39:22 +01:00
2025-01-17 17:39:22 +01:00
2025-01-17 17:39:22 +01:00
2025-01-17 17:39:22 +01:00
2025-01-17 17:39:22 +01:00
2025-01-17 17:39:22 +01:00
2025-01-17 17:39:22 +01:00
2025-01-17 17:39:22 +01:00
2025-01-18 22:27:08 +00:00
2025-01-17 17:39:22 +01:00
2025-01-17 17:39:22 +01:00
2025-01-17 17:39:22 +01:00
2025-01-17 17:39:22 +01:00
2025-01-17 17:39:22 +01:00
2025-01-17 15:06:10 -07:00
2025-01-17 17:39:22 +01:00
2025-01-18 22:27:08 +00:00
2025-01-17 17:39:22 +01:00
2025-01-17 17:39:22 +01:00
2025-01-17 17:39:22 +01:00
2025-01-17 17:39:22 +01:00
2025-01-17 17:39:22 +01:00
2025-01-17 17:39:22 +01:00
2025-01-17 17:39:22 +01:00
2025-01-17 17:39:22 +01:00
2025-01-17 17:39:22 +01:00
2025-01-17 17:39:22 +01:00
2025-01-17 17:39:22 +01:00
2025-01-17 17:39:22 +01:00
2025-01-18 13:28:44 -07:00
2025-01-17 18:51:20 +00:00
2025-01-17 17:39:22 +01:00
2025-01-17 17:39:22 +01:00
2025-01-18 22:57:17 +02:00
2025-01-18 17:36:41 +01:00
2025-01-17 17:39:22 +01:00
2025-01-17 17:39:22 +01:00
2025-01-17 17:39:22 +01:00
2025-01-17 17:39:22 +01:00
2025-01-17 17:39:22 +01:00
2025-01-17 17:39:22 +01:00
2025-01-17 17:39:22 +01:00
2025-01-17 17:39:22 +01:00
2025-01-17 17:39:22 +01:00
2025-01-17 17:39:22 +01:00
2025-01-17 17:39:22 +01:00
2025-01-17 17:39:22 +01:00
2025-01-17 17:39:22 +01:00
2025-01-18 22:27:08 +00:00
2025-01-17 17:39:22 +01:00
2025-01-17 17:39:22 +01:00
2025-01-17 17:39:22 +01:00
2025-01-17 17:39:22 +01:00
2025-01-17 17:39:22 +01:00
2025-01-17 17:39:22 +01:00
2025-01-17 17:39:22 +01:00
2025-01-18 22:27:08 +00:00
2025-01-17 17:39:22 +01:00
2025-01-17 17:39:22 +01:00
2025-01-17 17:39:22 +01:00
2025-01-17 17:39:22 +01:00
2025-01-17 17:39:22 +01:00
2025-01-17 17:39:22 +01:00
2025-01-17 17:39:22 +01:00
2025-01-17 17:39:22 +01:00
2025-01-17 17:39:22 +01:00
2025-01-18 17:36:41 +01:00
2025-01-18 17:36:41 +01:00
2025-01-17 17:39:22 +01:00
2025-01-17 17:39:22 +01:00
2025-01-17 17:39:22 +01:00
2025-01-17 17:39:22 +01:00
2025-01-17 17:39:22 +01:00
2025-01-17 17:39:22 +01:00
2025-01-17 17:39:22 +01:00
2025-01-17 17:39:22 +01:00
2025-01-18 17:36:41 +01:00
2025-01-17 17:39:22 +01:00
2025-01-17 17:39:22 +01:00
2025-01-17 17:39:22 +01:00
2025-01-17 17:39:22 +01:00
2025-01-18 22:27:08 +00:00
2025-01-17 17:39:22 +01:00
2025-01-17 17:39:22 +01:00
2025-01-18 22:57:17 +02:00
2025-01-17 18:51:20 +00:00
2025-01-18 22:27:08 +00:00
2025-01-17 17:39:22 +01:00
2025-01-17 17:39:22 +01:00