Start to split out initialization and registration (#21787)
Still TODO: * [x] Factor out `start_language_server` so we can call it on register (instead of on detect language) * [x] Only call register in singleton editors (or when editing/go-to-definition etc. in a multibuffer?) * [x] Refcount on register so we can unregister when no buffer remain * [ ] (maybe) Stop language servers that are no longer needed after some time Release Notes: - Fixed language servers starting when doing project search - Fixed high CPU usage when ignoring warnings in the diagnostics view --------- Co-authored-by: Piotr Osiewicz <24362066+osiewicz@users.noreply.github.com> Co-authored-by: Cole <cole@zed.dev>
This commit is contained in:
parent
de89f8cf83
commit
13a81e454a
19 changed files with 2200 additions and 1848 deletions
|
@ -304,7 +304,9 @@ message Envelope {
|
|||
InstallExtension install_extension = 287;
|
||||
|
||||
GetStagedText get_staged_text = 288;
|
||||
GetStagedTextResponse get_staged_text_response = 289; // current max
|
||||
GetStagedTextResponse get_staged_text_response = 289;
|
||||
|
||||
RegisterBufferWithLanguageServers register_buffer_with_language_servers = 290;
|
||||
}
|
||||
|
||||
reserved 87 to 88;
|
||||
|
@ -2537,7 +2539,6 @@ message UpdateGitBranch {
|
|||
string branch_name = 2;
|
||||
ProjectPath repository = 3;
|
||||
}
|
||||
|
||||
message GetPanicFiles {
|
||||
}
|
||||
|
||||
|
@ -2582,3 +2583,8 @@ message InstallExtension {
|
|||
Extension extension = 1;
|
||||
string tmp_dir = 2;
|
||||
}
|
||||
|
||||
message RegisterBufferWithLanguageServers{
|
||||
uint64 project_id = 1;
|
||||
uint64 buffer_id = 2;
|
||||
}
|
||||
|
|
|
@ -373,6 +373,7 @@ messages!(
|
|||
(SyncExtensions, Background),
|
||||
(SyncExtensionsResponse, Background),
|
||||
(InstallExtension, Background),
|
||||
(RegisterBufferWithLanguageServers, Background),
|
||||
);
|
||||
|
||||
request_messages!(
|
||||
|
@ -499,6 +500,7 @@ request_messages!(
|
|||
(CancelLanguageServerWork, Ack),
|
||||
(SyncExtensions, SyncExtensionsResponse),
|
||||
(InstallExtension, Ack),
|
||||
(RegisterBufferWithLanguageServers, Ack),
|
||||
);
|
||||
|
||||
entity_messages!(
|
||||
|
@ -584,6 +586,7 @@ entity_messages!(
|
|||
ActiveToolchain,
|
||||
GetPathMetadata,
|
||||
CancelLanguageServerWork,
|
||||
RegisterBufferWithLanguageServers,
|
||||
);
|
||||
|
||||
entity_messages!(
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue