default_delete.rs 493 B

12345678910111213141516171819
  1. use crate::document::DeleteExt;
  2. use lib_ot::{
  3. core::{DeltaBuilder, Interval},
  4. rich_text::RichTextDelta,
  5. };
  6. pub struct DefaultDelete {}
  7. impl DeleteExt for DefaultDelete {
  8. fn ext_name(&self) -> &str { "DefaultDelete" }
  9. fn apply(&self, _delta: &RichTextDelta, interval: Interval) -> Option<RichTextDelta> {
  10. Some(
  11. DeltaBuilder::new()
  12. .retain(interval.start)
  13. .delete(interval.size())
  14. .build(),
  15. )
  16. }
  17. }