Make expand excerpt apply to all excerpts in selections (#22748)

Closes #22720

Release Notes:

- `ExpandExcerpts` (`shift+enter` by default) now expands all excerpts
that have selected text, rather than just excerpts that contain the end
of a selection.
This commit is contained in:
Michael Sloan 2025-01-06 21:20:32 -07:00 committed by GitHub
parent 810b37c129
commit e56b692036
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -9109,15 +9109,18 @@ impl Editor {
};
self.buffer.update(cx, |buffer, cx| {
buffer.expand_excerpts(
selections
let snapshot = buffer.snapshot(cx);
let mut excerpt_ids = selections
.iter()
.map(|selection| selection.head().excerpt_id)
.dedup(),
lines,
direction,
cx,
)
.flat_map(|selection| {
snapshot
.excerpts_for_range(selection.range())
.map(|excerpt| excerpt.id())
})
.collect::<Vec<_>>();
excerpt_ids.sort();
excerpt_ids.dedup();
buffer.expand_excerpts(excerpt_ids, lines, direction, cx)
})
}