diff options
author | bors[bot] <bors[bot]@users.noreply.github.com> | 2019-02-27 11:09:47 +0000 |
---|---|---|
committer | bors[bot] <bors[bot]@users.noreply.github.com> | 2019-02-27 11:09:47 +0000 |
commit | c8e78809e5a300f3c2770f50b6d8b1c4bff11531 (patch) | |
tree | b6d466dc0987e64e692a2b4de1111c49e18cf40c /crates | |
parent | 4248b39993e2446c66f732ae9e45fb2f564099f5 (diff) | |
parent | 6eb45c1c2be0fb780c4160aaa93c8d3d81e607e2 (diff) |
Merge #903
903: Work around for issue in vscode reporting a failure in request r=matklad a=vipentti
vscode would report "A request has failed" when it got "Content modified"
message and this would cause a pop-up to appear. This works around the issue by
returning an "empty" response that vscode can ignore.
Co-authored-by: Ville Penttinen <[email protected]>
Diffstat (limited to 'crates')
-rw-r--r-- | crates/ra_lsp_server/src/main_loop.rs | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/crates/ra_lsp_server/src/main_loop.rs b/crates/ra_lsp_server/src/main_loop.rs index 06443bb76..ce50fb301 100644 --- a/crates/ra_lsp_server/src/main_loop.rs +++ b/crates/ra_lsp_server/src/main_loop.rs | |||
@@ -416,11 +416,20 @@ impl<'a> PoolDispatcher<'a> { | |||
416 | } | 416 | } |
417 | Err(e) => { | 417 | Err(e) => { |
418 | if is_canceled(&e) { | 418 | if is_canceled(&e) { |
419 | RawResponse::err( | 419 | // FIXME: When https://github.com/Microsoft/vscode-languageserver-node/issues/457 |
420 | // gets fixed, we can return the proper response. | ||
421 | // This works around the issue where "content modified" error would continuously | ||
422 | // show an message pop-up in VsCode | ||
423 | // RawResponse::err( | ||
424 | // id, | ||
425 | // ErrorCode::ContentModified as i32, | ||
426 | // "content modified".to_string(), | ||
427 | // ) | ||
428 | RawResponse { | ||
420 | id, | 429 | id, |
421 | ErrorCode::ContentModified as i32, | 430 | result: Some(serde_json::to_value(&()).unwrap()), |
422 | "content modified".to_string(), | 431 | error: None, |
423 | ) | 432 | } |
424 | } else { | 433 | } else { |
425 | RawResponse::err( | 434 | RawResponse::err( |
426 | id, | 435 | id, |