mirror of
https://github.com/zed-industries/zed.git
synced 2024-11-08 07:35:01 +03:00
d164034198
Deals with https://github.com/zed-industries/community/issues/752 Deals with https://github.com/zed-industries/community/issues/566 Currently, when converting from LSP to Zed objects, completions with non-empty `additional_text_edits` are filtered out. Later, all other completions form a list and the selected one gets the `Editor::confirm_completion` call, which always queries an LSP completion resolve request to get the `additional_text_edits` field. Otherwise, `additional_text_edits` field is ignored entirely for the rest of the completion lifetime — and we always pass the selected completion through the resolve request. The PR changes the logic, removing the `additional_text_edits` filtering and instead of resolving every completion, now we check for `additional_text_edits` in the completion before resolving: resolve happens only if the data is absent. Generally, feels like resolve has to happen before the completion selection: LSP servers may send us markdown for completion documentation preview pop ups and similar extra info. Also, the server may lack resolve capabilities entirely, always sending the request seems dangerous. For now, the PR does not attempt to change either. Release Notes: - Brings rust-analyzer's postfix completions and others completions with preresolved additional text edits |
||
---|---|---|
.. | ||
src | ||
Cargo.toml |