Implement cancel for buffer
This commit is contained in:
@@ -2378,8 +2378,11 @@ mod tests {
|
||||
use super::*;
|
||||
use cmp::Ordering;
|
||||
use gpui::App;
|
||||
use std::collections::BTreeMap;
|
||||
use std::{cell::RefCell, rc::Rc};
|
||||
use std::{
|
||||
collections::BTreeMap,
|
||||
sync::atomic::{self, AtomicUsize},
|
||||
};
|
||||
|
||||
#[test]
|
||||
fn test_edit() {
|
||||
@@ -3275,6 +3278,8 @@ mod tests {
|
||||
where
|
||||
I: IntoIterator<Item = Range<usize>>,
|
||||
{
|
||||
static NEXT_SELECTION_ID: AtomicUsize = AtomicUsize::new(0);
|
||||
|
||||
let mut ranges = ranges.into_iter().collect::<Vec<_>>();
|
||||
ranges.sort_unstable_by_key(|range| range.start);
|
||||
|
||||
@@ -3282,6 +3287,7 @@ mod tests {
|
||||
for range in ranges {
|
||||
if range.start > range.end {
|
||||
selections.push(Selection {
|
||||
id: NEXT_SELECTION_ID.fetch_add(1, atomic::Ordering::SeqCst),
|
||||
start: self.anchor_before(range.end)?,
|
||||
end: self.anchor_before(range.start)?,
|
||||
reversed: true,
|
||||
@@ -3289,6 +3295,7 @@ mod tests {
|
||||
});
|
||||
} else {
|
||||
selections.push(Selection {
|
||||
id: NEXT_SELECTION_ID.fetch_add(1, atomic::Ordering::SeqCst),
|
||||
start: self.anchor_after(range.start)?,
|
||||
end: self.anchor_before(range.end)?,
|
||||
reversed: false,
|
||||
|
||||
@@ -21,6 +21,7 @@ pub enum SelectionGoal {
|
||||
|
||||
#[derive(Clone, Debug, Eq, PartialEq)]
|
||||
pub struct Selection {
|
||||
pub id: usize,
|
||||
pub start: Anchor,
|
||||
pub end: Anchor,
|
||||
pub reversed: bool,
|
||||
|
||||
Reference in New Issue
Block a user