Sort deletes first
This commit is contained in:
parent
5afb2c21f8
commit
7589e1bf2e
2 changed files with 11 additions and 11 deletions
|
|
@ -1,5 +1,5 @@
|
||||||
---
|
---
|
||||||
source: reconcile/src/operation_transformation/edited_text.rs
|
source: src/operation_transformation/edited_text.rs
|
||||||
expression: operations
|
expression: operations
|
||||||
snapshot_kind: text
|
snapshot_kind: text
|
||||||
---
|
---
|
||||||
|
|
@ -8,11 +8,11 @@ EditedText {
|
||||||
operations: [
|
operations: [
|
||||||
OrderedOperation {
|
OrderedOperation {
|
||||||
order: 0,
|
order: 0,
|
||||||
operation: <insert 'Hello, my friend!' from index 0>,
|
operation: <delete 'hello world!' from index 0>,
|
||||||
},
|
},
|
||||||
OrderedOperation {
|
OrderedOperation {
|
||||||
order: 0,
|
order: 12,
|
||||||
operation: <delete 'hello world!' from index 17>,
|
operation: <insert 'Hello, my friend!' from index 0>,
|
||||||
},
|
},
|
||||||
OrderedOperation {
|
OrderedOperation {
|
||||||
order: 12,
|
order: 12,
|
||||||
|
|
@ -32,11 +32,11 @@ EditedText {
|
||||||
},
|
},
|
||||||
OrderedOperation {
|
OrderedOperation {
|
||||||
order: 20,
|
order: 20,
|
||||||
operation: <insert ' you doing? Albert' from index 25>,
|
operation: <delete ' you? Adam' from index 25>,
|
||||||
},
|
},
|
||||||
OrderedOperation {
|
OrderedOperation {
|
||||||
order: 20,
|
order: 31,
|
||||||
operation: <delete ' you? Adam' from index 43>,
|
operation: <insert ' you doing? Albert' from index 25>,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
cursors: [],
|
cursors: [],
|
||||||
|
|
|
||||||
|
|
@ -41,20 +41,20 @@ where
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
RawOperation::Equal(..) => Box::new(
|
RawOperation::Equal(..) => Box::new(
|
||||||
maybe_previous_insert
|
maybe_previous_delete
|
||||||
.take()
|
.take()
|
||||||
.into_iter()
|
.into_iter()
|
||||||
.chain(maybe_previous_delete.take())
|
.chain(maybe_previous_insert.take())
|
||||||
.chain(iter::once(next)),
|
.chain(iter::once(next)),
|
||||||
) as Box<dyn Iterator<Item = RawOperation<T>>>,
|
) as Box<dyn Iterator<Item = RawOperation<T>>>,
|
||||||
})
|
})
|
||||||
.collect();
|
.collect();
|
||||||
|
|
||||||
if let Some(prev) = maybe_previous_insert {
|
if let Some(prev) = maybe_previous_delete {
|
||||||
result.push(prev);
|
result.push(prev);
|
||||||
}
|
}
|
||||||
|
|
||||||
if let Some(prev) = maybe_previous_delete {
|
if let Some(prev) = maybe_previous_insert {
|
||||||
result.push(prev);
|
result.push(prev);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue