Unset follower's scroll anchor when editor is scrolled all the way up

Antonio Scandurra created

Change summary

crates/editor/src/editor.rs | 4 ++--
crates/editor/src/items.rs  | 4 +++-
2 files changed, 5 insertions(+), 3 deletions(-)

Detailed changes

crates/editor/src/editor.rs 🔗

@@ -1037,9 +1037,9 @@ impl Editor {
         cx.notify();
     }
 
-    fn set_scroll_top_anchor(&mut self, anchor: Anchor, cx: &mut ViewContext<Self>) {
+    fn set_scroll_top_anchor(&mut self, anchor: Option<Anchor>, cx: &mut ViewContext<Self>) {
         self.scroll_position = Vector2F::zero();
-        self.scroll_top_anchor = Some(anchor);
+        self.scroll_top_anchor = anchor;
         cx.emit(Event::ScrollPositionChanged);
         cx.notify();
     }

crates/editor/src/items.rs 🔗

@@ -95,7 +95,9 @@ impl FollowableItem for Editor {
                         let (excerpt_id, _, _) = buffer.as_singleton().unwrap();
                         buffer.anchor_in_excerpt(excerpt_id.clone(), anchor)
                     };
-                    self.set_scroll_top_anchor(anchor, cx);
+                    self.set_scroll_top_anchor(Some(anchor), cx);
+                } else {
+                    self.set_scroll_top_anchor(None, cx);
                 }
             }
         }