aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--helix-loader/src/grammar.rs16
1 files changed, 6 insertions, 10 deletions
diff --git a/helix-loader/src/grammar.rs b/helix-loader/src/grammar.rs
index 61ef464f..4fe7fd04 100644
--- a/helix-loader/src/grammar.rs
+++ b/helix-loader/src/grammar.rs
@@ -123,18 +123,14 @@ where
tx.send(job(grammar)).unwrap();
});
}
- pool.join();
+
+ drop(tx);
// TODO: print all failures instead of the first one found.
- if let Some(failure) = rx.try_iter().find_map(|result| result.err()) {
- Err(anyhow!(
- "Failed to {} some grammar(s).\n{}",
- action,
- failure
- ))
- } else {
- Ok(())
- }
+ rx.iter()
+ .find(|result| result.is_err())
+ .map(|err| err.with_context(|| format!("Failed to {} some grammar(s)", action)))
+ .unwrap_or(Ok(()))
}
fn fetch_grammar(grammar: GrammarConfiguration) -> Result<()> {