mirror of
https://github.com/zed-industries/zed.git
synced 2025-01-11 21:13:02 +00:00
Return last excerpt in MultiBuffer::excerpt_containing if overshooting
This commit is contained in:
parent
6e37ff880f
commit
b3c7526fb5
1 changed files with 15 additions and 12 deletions
|
@ -1082,18 +1082,21 @@ impl MultiBuffer {
|
|||
|
||||
let mut cursor = snapshot.excerpts.cursor::<usize>();
|
||||
cursor.seek(&position, Bias::Right, &());
|
||||
cursor.item().map(|excerpt| {
|
||||
(
|
||||
excerpt.id.clone(),
|
||||
self.buffers
|
||||
.borrow()
|
||||
.get(&excerpt.buffer_id)
|
||||
.unwrap()
|
||||
.buffer
|
||||
.clone(),
|
||||
excerpt.range.context.clone(),
|
||||
)
|
||||
})
|
||||
cursor
|
||||
.item()
|
||||
.or_else(|| snapshot.excerpts.last())
|
||||
.map(|excerpt| {
|
||||
(
|
||||
excerpt.id.clone(),
|
||||
self.buffers
|
||||
.borrow()
|
||||
.get(&excerpt.buffer_id)
|
||||
.unwrap()
|
||||
.buffer
|
||||
.clone(),
|
||||
excerpt.range.context.clone(),
|
||||
)
|
||||
})
|
||||
}
|
||||
|
||||
// If point is at the end of the buffer, the last excerpt is returned
|
||||
|
|
Loading…
Reference in a new issue