Skip to main content

ass_editor/core/fluent/
mod.rs

1//! Fluent API for document editing
2//!
3//! Provides an ergonomic builder pattern for document edits:
4//! ```
5//! # use ass_editor::{EditorDocument, Position, Range};
6//! # let mut doc = EditorDocument::new();
7//! # let pos = Position::new(0);
8//! # let range = Range::new(Position::new(0), Position::new(5));
9//! doc.at(pos).insert_text("Hello").unwrap();
10//! // doc.at_line(5).replace_text("New content"); // Not yet implemented
11//! doc.select(range).wrap_with_tag("\\b1", "\\b0").unwrap();
12//! ```
13
14mod document_ext;
15mod event_accessor;
16mod event_deleter;
17mod event_merge_timing;
18mod event_ops;
19mod event_query;
20mod event_query_exec;
21mod event_query_filter;
22mod event_toggle_effect;
23mod karaoke;
24mod karaoke_builders;
25mod media;
26mod position;
27mod query_types;
28mod script_info;
29mod selection;
30mod style;
31mod tag;
32
33#[cfg(test)]
34mod basic_tests;
35#[cfg(test)]
36mod event_api_tests;
37#[cfg(test)]
38mod event_effects_tests;
39#[cfg(test)]
40mod event_ops_tests;
41#[cfg(test)]
42mod karaoke_apply_tests;
43#[cfg(test)]
44mod karaoke_tests;
45#[cfg(test)]
46mod karaoke_workflow_tests;
47#[cfg(test)]
48mod metadata_tests;
49#[cfg(test)]
50mod style_tests;
51
52pub use event_accessor::EventAccessor;
53pub use event_deleter::EventDeleter;
54pub use event_merge_timing::{EventMerger, EventTimer};
55pub use event_ops::EventOps;
56pub use event_query::EventQuery;
57pub use event_toggle_effect::{EventEffector, EventToggler};
58pub use karaoke::{KaraokeGenerator, KaraokeOps};
59pub use karaoke_builders::{KaraokeAdjuster, KaraokeApplicator, KaraokeSplitter};
60pub use media::{FontsOps, GraphicsOps};
61pub use position::AtPosition;
62pub use query_types::{EventFilter, EventInfo, EventSortCriteria, EventSortOptions, OwnedEvent};
63pub use script_info::ScriptInfoOps;
64pub use selection::SelectRange;
65pub use style::{StyleApplicator, StyleEditor, StyleOps};
66pub use tag::TagOps;