Change summary
zed/src/editor.rs | 1 +
zed/src/editor/buffer.rs | 9 +++++----
2 files changed, 6 insertions(+), 4 deletions(-)
Detailed changes
@@ -2671,6 +2671,7 @@ impl workspace::ItemView for Editor {
cx.spawn(|buffer, mut cx| async move {
save_as.await.map(|new_file| {
buffer.update(&mut cx, |buffer, cx| {
+ buffer.set_language(new_file.select_language(cx), cx);
buffer.did_save(version, new_file.mtime, Some(new_file), cx);
});
})
@@ -710,6 +710,11 @@ impl Buffer {
&self.visible_text
}
+ pub fn set_language(&mut self, language: Option<Arc<Language>>, cx: &mut ModelContext<Self>) {
+ self.language = language;
+ self.reparse(cx);
+ }
+
pub fn did_save(
&mut self,
version: time::Global,
@@ -720,10 +725,6 @@ impl Buffer {
self.saved_mtime = mtime;
self.saved_version = version;
if let Some(new_file) = new_file {
- if let Some(language) = new_file.select_language(cx) {
- self.language = Some(language);
- self.reparse(cx);
- }
self.file = Some(new_file);
}
cx.emit(Event::Saved);