extension.rs 617 B

1234567891011121314151617181920212223
  1. use crate::{
  2. client::{view::insert_ext::*, Document},
  3. core::{Attributes, Interval},
  4. };
  5. use lazy_static::lazy_static;
  6. pub trait InsertExt {
  7. fn apply(document: &Document, s: &str, interval: Interval);
  8. }
  9. pub trait FormatExt {
  10. fn apply(document: &Document, interval: Interval, attributes: Attributes);
  11. }
  12. pub trait DeleteExt {
  13. fn apply(document: &Document, interval: Interval);
  14. }
  15. lazy_static! {
  16. static ref INSERT_EXT: Vec<Box<InsertExt>> = vec![PreserveInlineStyleExt::new(),];
  17. static ref FORMAT_EXT: Vec<Box<FormatExt>> = vec![];
  18. static ref DELETE_EXT: Vec<Box<DeleteExt>> = vec![];
  19. }