summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--helix-term/src/commands/typed.rs6
-rw-r--r--helix-view/src/document.rs12
2 files changed, 12 insertions, 6 deletions
diff --git a/helix-term/src/commands/typed.rs b/helix-term/src/commands/typed.rs
index 384db4ac..2ca3a561 100644
--- a/helix-term/src/commands/typed.rs
+++ b/helix-term/src/commands/typed.rs
@@ -1318,7 +1318,11 @@ fn reload_all(
// Ensure that the view is synced with the document's history.
view.sync_changes(doc);
- doc.reload(view, &cx.editor.diff_providers)?;
+ if let Err(error) = doc.reload(view, &cx.editor.diff_providers) {
+ cx.editor.set_error(format!("{}", error));
+ continue;
+ }
+
if let Some(path) = doc.path() {
cx.editor
.language_servers
diff --git a/helix-view/src/document.rs b/helix-view/src/document.rs
index 5f3595ee..f813c742 100644
--- a/helix-view/src/document.rs
+++ b/helix-view/src/document.rs
@@ -993,11 +993,13 @@ impl Document {
provider_registry: &DiffProviderRegistry,
) -> Result<(), Error> {
let encoding = self.encoding;
- let path = self
- .path()
- .filter(|path| path.exists())
- .ok_or_else(|| anyhow!("can't find file to reload from {:?}", self.display_name()))?
- .to_owned();
+ let path = match self.path() {
+ None => return Ok(()),
+ Some(path) => match path.exists() {
+ true => path.to_owned(),
+ false => bail!("can't find file to reload from {:?}", self.display_name()),
+ },
+ };
// Once we have a valid path we check if its readonly status has changed
self.detect_readonly();