remote dev: Allow canceling language server work in editor (#19946)

Release Notes:

- Added ability to cancel language server work in remote development.

Demo:



https://github.com/user-attachments/assets/c9ca91a5-617f-4886-a458-87c563c5a247
This commit is contained in:
Thorsten Ball 2024-10-30 13:27:11 +01:00 committed by GitHub
parent 774a8bf039
commit f6cd97f6fd
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
5 changed files with 325 additions and 66 deletions

View file

@ -292,7 +292,9 @@ message Envelope {
GetPathMetadataResponse get_path_metadata_response = 279;
GetPanicFiles get_panic_files = 280;
GetPanicFilesResponse get_panic_files_response = 281; // current max
GetPanicFilesResponse get_panic_files_response = 281;
CancelLanguageServerWork cancel_language_server_work = 282; // current max
}
reserved 87 to 88;
@ -1257,12 +1259,14 @@ message LspWorkStart {
optional string title = 4;
optional string message = 2;
optional uint32 percentage = 3;
optional bool is_cancellable = 5;
}
message LspWorkProgress {
string token = 1;
optional string message = 2;
optional uint32 percentage = 3;
optional bool is_cancellable = 4;
}
message LspWorkEnd {
@ -2500,3 +2504,21 @@ message GetPanicFiles {
message GetPanicFilesResponse {
repeated string file_contents = 2;
}
message CancelLanguageServerWork {
uint64 project_id = 1;
oneof work {
Buffers buffers = 2;
LanguageServerWork language_server_work = 3;
}
message Buffers {
repeated uint64 buffer_ids = 2;
}
message LanguageServerWork {
uint64 language_server_id = 1;
optional string token = 2;
}
}

View file

@ -366,6 +366,7 @@ messages!(
(GetPathMetadataResponse, Background),
(GetPanicFiles, Background),
(GetPanicFilesResponse, Background),
(CancelLanguageServerWork, Foreground),
);
request_messages!(
@ -486,7 +487,8 @@ request_messages!(
(ActivateToolchain, Ack),
(ActiveToolchain, ActiveToolchainResponse),
(GetPathMetadata, GetPathMetadataResponse),
(GetPanicFiles, GetPanicFilesResponse)
(GetPanicFiles, GetPanicFilesResponse),
(CancelLanguageServerWork, Ack),
);
entity_messages!(
@ -570,6 +572,7 @@ entity_messages!(
ActivateToolchain,
ActiveToolchain,
GetPathMetadata,
CancelLanguageServerWork,
);
entity_messages!(