From b892a48740eef7a505bfbe2213c42c71e87f0bea Mon Sep 17 00:00:00 2001 From: Kirill Bulatov Date: Sun, 22 Mar 2020 00:40:07 +0200 Subject: Code review fixes Co-Authored-By: Veetaha --- crates/rust-analyzer/src/main_loop.rs | 21 +++++++++------------ crates/rust-analyzer/src/world.rs | 1 + 2 files changed, 10 insertions(+), 12 deletions(-) (limited to 'crates') diff --git a/crates/rust-analyzer/src/main_loop.rs b/crates/rust-analyzer/src/main_loop.rs index e1fcae136..7e96be319 100644 --- a/crates/rust-analyzer/src/main_loop.rs +++ b/crates/rust-analyzer/src/main_loop.rs @@ -417,22 +417,19 @@ fn loop_turn( if Some(resp.id) == loop_state.configuration_request_id { loop_state.configuration_request_id = None; if let Some(err) = resp.error { - log::error!("failed fetch the server settings: {:?}", err) - } else if resp.result.is_none() { - log::error!("received empty server settings response from the client") - } else { - let new_config = - serde_json::from_value::>(resp.result.unwrap())? - .first() - .expect( - "The client is expected to always send a non-empty config data", - ) - .to_owned(); + log::error!("failed to fetch the server settings: {:?}", err) + } else if let Some(result) = resp.result { + let new_config = serde_json::from_value::>(result)? + .first() + .expect("The client is expected to always send a non-empty config data") + .to_owned(); world_state.update_configuration( new_config.lru_capacity, get_options(&new_config, text_document_caps), get_feature_flags(&new_config, connection), ); + } else { + log::error!("received empty server settings response from the client") } } } @@ -673,7 +670,7 @@ fn on_notification( ConfigurationParams::default(), ); msg_sender.send(request.into())?; - loop_state.configuration_request_id.replace(request_id); + loop_state.configuration_request_id = Some(request_id); return Ok(()); } diff --git a/crates/rust-analyzer/src/world.rs b/crates/rust-analyzer/src/world.rs index 2b5878ed9..01084f818 100644 --- a/crates/rust-analyzer/src/world.rs +++ b/crates/rust-analyzer/src/world.rs @@ -32,6 +32,7 @@ use ra_db::ExternSourceId; use rustc_hash::{FxHashMap, FxHashSet}; fn create_watcher(workspaces: &[ProjectWorkspace], options: &Options) -> CheckWatcher { + // FIXME: Figure out the multi-workspace situation workspaces .iter() .find_map(|w| match w { -- cgit v1.2.3