ZIm/crates/language_tools/src
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
..
key_context_view.rs Load all key bindings that parse and use markdown in error notifications (#23113) 2025-01-18 22:27:08 +00:00
language_tools.rs Add KeyContextView (#19872) 2024-10-30 11:26:54 -06:00
lsp_log.rs Show configuration in language server debug logs (#23084) 2025-01-13 21:00:03 +00:00
lsp_log_tests.rs Take a reference in LSP notify (#23077) 2025-01-13 19:26:28 +00:00
syntax_tree_view.rs Support diagnostic navigation in multibuffers (#22620) 2025-01-03 18:07:56 +00:00