@@ -427,24 +427,25 @@ impl Application {
427427 }
428428
429429 pub fn handle_document_write(&mut self, doc_save_event: DocumentSavedEventResult) {
430− if let Err(err) = doc_save_event {
431− self.editor.set_error(err.to_string());
432− return;
433− }
434−
435− let doc_save_event = doc_save_event.unwrap();
436− let doc = self.editor.document_mut(doc_save_event.doc_id);
437−
438− if doc.is_none() {
439− warn!(
440− "received document saved event for non-existent doc id: {}",
441− doc_save_event.doc_id
442− );
430+ let doc_save_event = match doc_save_event {
431+ Ok(event) => event,
432+ Err(err) => {
433+ self.editor.set_error(err.to_string());
434+ return;
435+ }
436+ };
443437
444− return;
445− }
438+ let doc = match self.editor.document_mut(doc_save_event.doc_id) {
439+ None => {
440+ warn!(
441+ "received document saved event for non-existent doc id: {}",
442+ doc_save_event.doc_id
443+ );
446444
447− let doc = doc.unwrap();
445+ return;
446+ }
447+ Some(doc) => doc,
448+ };
448449
449450 debug!(
450451 "document {:?} saved with revision {}",
@@ -472,7 +473,7 @@ impl Application {
472473 let loader = self.editor.syn_loader.clone();
473474
474475 // borrowing the same doc again to get around the borrow checker
475− let doc = self.editor.document_mut(doc_save_event.doc_id).unwrap();
476+ let doc = doc_mut!(self.editor, &doc_save_event.doc_id);
476477 let id = doc.id();
477478 doc.detect_language(loader);
478479 let _ = self.editor.refresh_language_server(id);