1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
//! TaskPaper document parser and serializer for the doing CLI.
//!
//! This crate implements the document model that backs the doing file format.
//! A doing file is a subset of the [TaskPaper](https://www.taskpaper.com/) format:
//! sections (headers ending with `:`) contain entries (lines starting with `- `),
//! each with tags (`@name` or `@name(value)`) and optional indented notes.
//!
//! # Document model
//!
//! - [`Document`] — an ordered list of [`Section`]s with methods for querying,
//! mutating, and persisting entries.
//! - [`Section`] — a named group of entries (e.g. "Currently", "Done").
//! - [`Entry`] — a single time-tracked item with a date, title, [`Tags`], and [`Note`].
//! - [`Tags`] — an ordered collection of [`Tag`] key-value pairs.
//!
//! # File I/O
//!
//! - [`create_file`] — create a new doing file with a default section.
//! - [`read_file`] — parse an on-disk file into a [`Document`].
//! - [`write_file`] — atomically write a [`Document`] back to disk.
//! - [`serialize`] — render a [`Document`] to its TaskPaper string representation.
pub use Document;
pub use Entry;
pub use ;
pub use Note;
pub use DEFAULT_SECTION;
pub use Section;
pub use serialize;
pub use ;