fix: stop hiding cached gutter markers while edits refresh

This commit is contained in:
2026-10-13 22:01:32 +02:00
parent 142b00118a
commit 00628e0efd
5 changed files with 23 additions and 6 deletions
+18 -1
View File
@@ -1610,17 +1610,34 @@ mod tests {
assert_eq!(session.editor.gutter_change(1), Some(Change::Modified));
session.editor.handle(Input::Char('i'));
session.editor.handle(Input::Char('x'));
assert_eq!(session.editor.gutter_change(1), None);
assert_eq!(session.editor.gutter_change(1), Some(Change::Modified));
session.editor.handle(Input::Char('y'));
assert_eq!(session.editor.gutter_change(1), Some(Change::Modified));
session.editor.handle(Input::Backspace);
assert_eq!(session.editor.gutter_change(1), Some(Change::Modified));
session.editor.handle(Input::Escape);
session.editor.handle(Input::Char('u'));
assert_eq!(session.editor.gutter_change(1), Some(Change::Modified));
session.editor.handle(Input::Char('U'));
assert_eq!(session.editor.gutter_change(1), Some(Change::Modified));
assert!(!session.apply_gutter_result(
second_request,
vec![(first_buffer, Ok(vec![None, Some(Change::Removed)]))],
));
assert_eq!(session.editor.gutter_change(1), Some(Change::Modified));
session.poll_gutter_at(now);
assert_eq!(session.editor.gutter_change(1), Some(Change::Modified));
assert!(session.apply_gutter_result(
session.gutter_request_id,
vec![(first_buffer, Ok(vec![None, Some(Change::Added)]))],
));
assert_eq!(session.editor.gutter_change(1), Some(Change::Added));
session.poll_gutter_at(now + Duration::from_secs(1));
assert!(session.apply_gutter_result(
session.gutter_request_id,
vec![(first_buffer, Ok(vec![None, None]))],
));
assert_eq!(session.editor.gutter_change(1), None);
session.editor.execute(&format!("buffer {second_buffer}"));
assert_eq!(session.editor.gutter_change(0), Some(Change::Added));
}