@@ -2519,7 +2519,7 @@ async fn make_format_callback(
25192519 write: Option<(Option<PathBuf>, bool)>,
25202520) -> anyhow::Result<job::Callback> {
25212521 let format = format.await?;
2522− let call: job::Callback = Callback::EditorCompositor(Box::new(move |editor, _compositor| {
2522+ let call: job::Callback = Callback::Editor(Box::new(move |editor| {
25232523 if !editor.documents.contains_key(&doc_id) {
25242524 return;
25252525 }
@@ -2527,7 +2527,6 @@ async fn make_format_callback(
25272527 let scrolloff = editor.config().scrolloff;
25282528 let doc = doc_mut!(editor, &doc_id);
25292529 let view = view_mut!(editor);
2530− let loader = editor.syn_loader.clone();
25312530
25322531 if doc.version() == doc_version {
25332532 apply_transaction(&format, doc, view);
@@ -2536,14 +2535,8 @@ async fn make_format_callback(
25362535 view.ensure_cursor_in_view(doc, scrolloff);
25372536
25382537 if let Some((path, force)) = write {
2539− let refresh_lang = path.is_some();
2540−
25412538 if let Err(err) = doc.save(path, force) {
25422539 editor.set_error(format!("Error saving: {}", err));
2543− } else if refresh_lang {
2544− let id = doc.id();
2545− doc.detect_language(loader);
2546− let _ = editor.refresh_language_server(id);
25472540 }
25482541 }
25492542 } else {