aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--helix-view/src/document.rs19
1 files changed, 13 insertions, 6 deletions
diff --git a/helix-view/src/document.rs b/helix-view/src/document.rs
index 3f8dc4e6..a0d50440 100644
--- a/helix-view/src/document.rs
+++ b/helix-view/src/document.rs
@@ -543,12 +543,19 @@ impl Document {
}
if let Some(fmt) = formatting {
- let transaction = fmt.await?;
- let success = transaction.changes().apply(&mut text);
- if !success {
- // This shouldn't happen, because the transaction changes were generated
- // from the same text we're saving.
- log::error!("failed to apply format changes before saving");
+ match fmt.await {
+ Ok(transaction) => {
+ let success = transaction.changes().apply(&mut text);
+ if !success {
+ // This shouldn't happen, because the transaction changes were generated
+ // from the same text we're saving.
+ log::error!("failed to apply format changes before saving");
+ }
+ }
+ Err(err) => {
+ // formatting failed: report error, and save file without modifications
+ log::error!("{}", err);
+ }
}
}