diff options
author | Aleksey Kladov <[email protected]> | 2020-06-26 15:33:57 +0100 |
---|---|---|
committer | Aleksey Kladov <[email protected]> | 2020-06-26 15:33:57 +0100 |
commit | 1893289e5c7cebeeb9705c031c996fc29d8c5b54 (patch) | |
tree | 19ff08cc4306fb4b0fbcb057927de3973d30eb33 /crates/rust-analyzer/src/reload.rs | |
parent | bd903bf132dfc188e2f4c634a8b457ab4d7d4852 (diff) |
Move progress reporting to utils
Diffstat (limited to 'crates/rust-analyzer/src/reload.rs')
-rw-r--r-- | crates/rust-analyzer/src/reload.rs | 24 |
1 files changed, 14 insertions, 10 deletions
diff --git a/crates/rust-analyzer/src/reload.rs b/crates/rust-analyzer/src/reload.rs index a22d3e262..fece6176e 100644 --- a/crates/rust-analyzer/src/reload.rs +++ b/crates/rust-analyzer/src/reload.rs | |||
@@ -36,27 +36,31 @@ impl GlobalState { | |||
36 | self.config | 36 | self.config |
37 | .linked_projects | 37 | .linked_projects |
38 | .iter() | 38 | .iter() |
39 | .filter_map(|project| match project { | 39 | .map(|project| match project { |
40 | LinkedProject::ProjectManifest(manifest) => { | 40 | LinkedProject::ProjectManifest(manifest) => { |
41 | ra_project_model::ProjectWorkspace::load( | 41 | ra_project_model::ProjectWorkspace::load( |
42 | manifest.clone(), | 42 | manifest.clone(), |
43 | &self.config.cargo, | 43 | &self.config.cargo, |
44 | self.config.with_sysroot, | 44 | self.config.with_sysroot, |
45 | ) | 45 | ) |
46 | .map_err(|err| { | ||
47 | log::error!("failed to load workspace: {:#}", err); | ||
48 | self.show_message( | ||
49 | lsp_types::MessageType::Error, | ||
50 | format!("rust-analyzer failed to load workspace: {:#}", err), | ||
51 | ); | ||
52 | }) | ||
53 | .ok() | ||
54 | } | 46 | } |
55 | LinkedProject::InlineJsonProject(it) => { | 47 | LinkedProject::InlineJsonProject(it) => { |
56 | Some(ra_project_model::ProjectWorkspace::Json { project: it.clone() }) | 48 | Ok(ra_project_model::ProjectWorkspace::Json { project: it.clone() }) |
57 | } | 49 | } |
58 | }) | 50 | }) |
59 | .collect::<Vec<_>>() | 51 | .collect::<Vec<_>>() |
52 | .into_iter() | ||
53 | .filter_map(|res| { | ||
54 | res.map_err(|err| { | ||
55 | log::error!("failed to load workspace: {:#}", err); | ||
56 | self.show_message( | ||
57 | lsp_types::MessageType::Error, | ||
58 | format!("rust-analyzer failed to load workspace: {:#}", err), | ||
59 | ); | ||
60 | }) | ||
61 | .ok() | ||
62 | }) | ||
63 | .collect::<Vec<_>>() | ||
60 | }; | 64 | }; |
61 | 65 | ||
62 | if let FilesWatcher::Client = self.config.files.watcher { | 66 | if let FilesWatcher::Client = self.config.files.watcher { |