Re-applies what's been reverted in https://github.com/zed-industries/zed/pull/26832 with an action-related fix in https://github.com/zed-industries/zed/commit/64b5d37d324176cc7b819418f46724cd4c67393d Before, actions were resolved only if `data` is present and either of the possible fields is empty: https://github.com/zed-industries/zed/blob/e842b4eade368127f01944f1b442016edd6b292d/crates/project/src/lsp_store.rs#L1632-L1633 But Zed resolves completions and inlays once, unconditionally, and the reverted PR applied the same strategy to actions. That did not work despite the spec not forbidding `data`-less actions to be resolved. Soon, it starts to work due to https://github.com/rust-lang/rust-analyzer/pull/19369 but it seems safer to restore the original filtering code. Code lens have no issues with `data`-less resolves: https://github.com/rust-lang/rust-analyzer/blob/220d913cbcd05f9b7635179a98c685f31821a572/crates/rust-analyzer/src/handlers/request.rs#L1618-L1620 so the same approach as completions and inlays is kept: resolve once. Release Notes: - N/A
This commit is contained in:
@@ -632,6 +632,9 @@ impl LanguageServer {
|
||||
diagnostic: Some(DiagnosticWorkspaceClientCapabilities {
|
||||
refresh_support: None,
|
||||
}),
|
||||
code_lens: Some(CodeLensWorkspaceClientCapabilities {
|
||||
refresh_support: Some(true),
|
||||
}),
|
||||
workspace_edit: Some(WorkspaceEditClientCapabilities {
|
||||
resource_operations: Some(vec![
|
||||
ResourceOperationKind::Create,
|
||||
@@ -763,6 +766,9 @@ impl LanguageServer {
|
||||
did_save: Some(true),
|
||||
..TextDocumentSyncClientCapabilities::default()
|
||||
}),
|
||||
code_lens: Some(CodeLensClientCapabilities {
|
||||
dynamic_registration: Some(false),
|
||||
}),
|
||||
..TextDocumentClientCapabilities::default()
|
||||
}),
|
||||
experimental: Some(json!({
|
||||
|
||||
Reference in New Issue
Block a user