Skip to content

Commit

Permalink
Do not stop reloading docs on error (helix-editor#9870)
Browse files Browse the repository at this point in the history
In the `reload-all` command, we should not stop reloading the documents
if one error is found. Instead, we should report the error and continue
trying to reload the current open documents. This is useful in cases
where a backing file does not exist temporarily (e.g. when editing a git
patch in the outstanding chain that doesn't have a file just yet).

This change also remove the error messages in the cases where the
backing is `None`, like in new docs or `tutor`.
  • Loading branch information
useche authored and Desdaemon committed Mar 26, 2024
1 parent 79c9082 commit ec5f94f
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 6 deletions.
6 changes: 5 additions & 1 deletion helix-term/src/commands/typed.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
12 changes: 7 additions & 5 deletions helix-view/src/document.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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();
Expand Down

0 comments on commit ec5f94f

Please sign in to comment.