Re-applies what's been reverted in https://github.com/zed-industries/zed/pull/26832 with an action-related fix in64b5d37d32
Before, actions were resolved only if `data` is present and either of the possible fields is empty:e842b4eade/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:220d913cbc/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:
parent
ef91e7afae
commit
8a31dcaeb0
13 changed files with 618 additions and 17 deletions
|
@ -346,7 +346,12 @@ message Envelope {
|
|||
GitDiff git_diff = 319;
|
||||
GitDiffResponse git_diff_response = 320;
|
||||
|
||||
GitInit git_init = 321; // current max
|
||||
GitInit git_init = 321;
|
||||
|
||||
CodeLens code_lens = 322;
|
||||
GetCodeLens get_code_lens = 323;
|
||||
GetCodeLensResponse get_code_lens_response = 324;
|
||||
RefreshCodeLens refresh_code_lens = 325; // current max
|
||||
}
|
||||
|
||||
reserved 87 to 88;
|
||||
|
@ -1263,6 +1268,25 @@ message RefreshInlayHints {
|
|||
uint64 project_id = 1;
|
||||
}
|
||||
|
||||
message CodeLens {
|
||||
bytes lsp_lens = 1;
|
||||
}
|
||||
|
||||
message GetCodeLens {
|
||||
uint64 project_id = 1;
|
||||
uint64 buffer_id = 2;
|
||||
repeated VectorClockEntry version = 3;
|
||||
}
|
||||
|
||||
message GetCodeLensResponse {
|
||||
repeated CodeAction lens_actions = 1;
|
||||
repeated VectorClockEntry version = 2;
|
||||
}
|
||||
|
||||
message RefreshCodeLens {
|
||||
uint64 project_id = 1;
|
||||
}
|
||||
|
||||
message MarkupContent {
|
||||
bool is_markdown = 1;
|
||||
string value = 2;
|
||||
|
@ -1298,9 +1322,11 @@ message CodeAction {
|
|||
Anchor end = 3;
|
||||
bytes lsp_action = 4;
|
||||
Kind kind = 5;
|
||||
bool resolved = 6;
|
||||
enum Kind {
|
||||
Action = 0;
|
||||
Command = 1;
|
||||
CodeLens = 2;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -2346,6 +2372,7 @@ message MultiLspQuery {
|
|||
GetHover get_hover = 5;
|
||||
GetCodeActions get_code_actions = 6;
|
||||
GetSignatureHelp get_signature_help = 7;
|
||||
GetCodeLens get_code_lens = 8;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -2365,6 +2392,7 @@ message LspResponse {
|
|||
GetHoverResponse get_hover_response = 1;
|
||||
GetCodeActionsResponse get_code_actions_response = 2;
|
||||
GetSignatureHelpResponse get_signature_help_response = 3;
|
||||
GetCodeLensResponse get_code_lens_response = 4;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -340,6 +340,9 @@ messages!(
|
|||
(ResolveCompletionDocumentationResponse, Background),
|
||||
(ResolveInlayHint, Background),
|
||||
(ResolveInlayHintResponse, Background),
|
||||
(RefreshCodeLens, Background),
|
||||
(GetCodeLens, Background),
|
||||
(GetCodeLensResponse, Background),
|
||||
(RespondToChannelInvite, Foreground),
|
||||
(RespondToContactRequest, Foreground),
|
||||
(RoomUpdated, Foreground),
|
||||
|
@ -513,6 +516,7 @@ request_messages!(
|
|||
(GetUsers, UsersResponse),
|
||||
(IncomingCall, Ack),
|
||||
(InlayHints, InlayHintsResponse),
|
||||
(GetCodeLens, GetCodeLensResponse),
|
||||
(InviteChannelMember, Ack),
|
||||
(JoinChannel, JoinRoomResponse),
|
||||
(JoinChannelBuffer, JoinChannelBufferResponse),
|
||||
|
@ -534,6 +538,7 @@ request_messages!(
|
|||
(PrepareRename, PrepareRenameResponse),
|
||||
(CountLanguageModelTokens, CountLanguageModelTokensResponse),
|
||||
(RefreshInlayHints, Ack),
|
||||
(RefreshCodeLens, Ack),
|
||||
(RejoinChannelBuffers, RejoinChannelBuffersResponse),
|
||||
(RejoinRoom, RejoinRoomResponse),
|
||||
(ReloadBuffers, ReloadBuffersResponse),
|
||||
|
@ -632,6 +637,7 @@ entity_messages!(
|
|||
ApplyCodeActionKind,
|
||||
FormatBuffers,
|
||||
GetCodeActions,
|
||||
GetCodeLens,
|
||||
GetCompletions,
|
||||
GetDefinition,
|
||||
GetDeclaration,
|
||||
|
@ -659,6 +665,7 @@ entity_messages!(
|
|||
PerformRename,
|
||||
PrepareRename,
|
||||
RefreshInlayHints,
|
||||
RefreshCodeLens,
|
||||
ReloadBuffers,
|
||||
RemoveProjectCollaborator,
|
||||
RenameProjectEntry,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue