Skip to main content

tmprl_core/
lib.rs

1//! Pure domain logic for tmprl.
2//!
3//! Nothing in this crate performs IO, touches a terminal, or is async. That is deliberate:
4//! it is the layer where the difficult logic lives, so it is the layer that must be
5//! trivially testable. If something here needs a runtime, it is in the wrong crate.
6
7pub mod command;
8pub mod config;
9pub mod form;
10pub mod fuzzy;
11pub mod history;
12pub mod jumplist;
13pub mod key;
14pub mod keymap;
15pub mod loadable;
16pub mod mode;
17pub mod mutation;
18pub mod outline;
19pub mod payload;
20pub mod picker;
21pub mod query;
22pub mod schedule;
23pub mod search;
24pub mod timerange;
25pub mod workflow;
26
27pub use command::{Action, Command, PayloadPart, Registry};
28pub use config::{CodecConfig, Config, ConfigError, SavedView};
29pub use fuzzy::Match;
30pub use history::{Category, Group, GroupRef, NormalizedEvent, Outcome, Role};
31pub use jumplist::Jumplist;
32pub use key::{Chord, ChordSeq, Key, KeyParseError, Mods};
33pub use keymap::{Binding, Keymap, Pending, PendingEntry, Resolution, default_keymap};
34pub use loadable::Loadable;
35pub use mode::Mode;
36pub use mutation::{Confirm, Mutation};
37pub use outline::{Outline, Row, Summary};
38pub use payload::{Payload, Rendered};
39pub use picker::{Picker, Target};
40pub use schedule::ScheduleRow;
41pub use search::{Hit, Search};
42pub use workflow::{StatusCounts, WorkflowList, WorkflowRow, WorkflowStatus};