Remove start_index from sorting
This commit is contained in:
parent
d58b474669
commit
46d2e0c485
2 changed files with 7 additions and 12 deletions
|
|
@ -123,7 +123,11 @@ where
|
|||
let (side, OrderedOperation { operation, order }, maybe_other_operation) =
|
||||
match (maybe_left_op.clone(), maybe_right_op.clone()) {
|
||||
(Some(left_op), Some(right_op)) => {
|
||||
if left_op < right_op {
|
||||
if left_op
|
||||
.get_sort_key(seen_left_length)
|
||||
.partial_cmp(&right_op.get_sort_key(seen_right_length))
|
||||
== Some(std::cmp::Ordering::Less)
|
||||
{
|
||||
(Side::Left, left_op, maybe_right_op.clone())
|
||||
} else {
|
||||
(Side::Right, right_op, maybe_left_op.clone())
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@ impl<T> OrderedOperation<T>
|
|||
where
|
||||
T: PartialEq + Clone + std::fmt::Debug,
|
||||
{
|
||||
pub fn get_sort_key(&self) -> (usize, usize, usize, String) {
|
||||
pub fn get_sort_key(&self, insertion_index: usize) -> (usize, usize, usize, String) {
|
||||
(
|
||||
self.order,
|
||||
match &self.operation {
|
||||
|
|
@ -25,7 +25,7 @@ where
|
|||
Operation::Insert { .. } => 2,
|
||||
Operation::Equal { .. } => 3,
|
||||
},
|
||||
self.operation.start_index(),
|
||||
insertion_index,
|
||||
// Make sure that the ordering is deterministic regardless of which text
|
||||
// is left or right.
|
||||
match &self.operation {
|
||||
|
|
@ -41,12 +41,3 @@ where
|
|||
)
|
||||
}
|
||||
}
|
||||
|
||||
impl<T> PartialOrd for OrderedOperation<T>
|
||||
where
|
||||
T: PartialEq + Clone + std::fmt::Debug,
|
||||
{
|
||||
fn partial_cmp(&self, other: &Self) -> Option<std::cmp::Ordering> {
|
||||
self.get_sort_key().partial_cmp(&other.get_sort_key())
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue