Skip to main content

Crate tmprl_core

Crate tmprl_core 

Source
Expand description

Pure domain logic for tmprl.

Nothing in this crate performs IO, touches a terminal, or is async. That is deliberate: it is the layer where the difficult logic lives, so it is the layer that must be trivially testable. If something here needs a runtime, it is in the wrong crate.

Re-exports§

pub use command::Action;
pub use command::Command;
pub use command::PayloadPart;
pub use command::Registry;
pub use config::CodecConfig;
pub use config::Config;
pub use config::ConfigError;
pub use config::SavedView;
pub use fuzzy::Match;
pub use history::Category;
pub use history::Group;
pub use history::GroupRef;
pub use history::NormalizedEvent;
pub use history::Outcome;
pub use history::Role;
pub use jumplist::Jumplist;
pub use key::Chord;
pub use key::ChordSeq;
pub use key::Key;
pub use key::KeyParseError;
pub use key::Mods;
pub use keymap::Binding;
pub use keymap::Keymap;
pub use keymap::Pending;
pub use keymap::PendingEntry;
pub use keymap::Resolution;
pub use keymap::default_keymap;
pub use loadable::Loadable;
pub use mode::Mode;
pub use mutation::Confirm;
pub use mutation::Mutation;
pub use outline::Outline;
pub use outline::Row;
pub use outline::Summary;
pub use payload::Payload;
pub use payload::Rendered;
pub use picker::Picker;
pub use picker::Target;
pub use schedule::ScheduleRow;
pub use search::Hit;
pub use search::Search;
pub use workflow::StatusCounts;
pub use workflow::WorkflowList;
pub use workflow::WorkflowRow;
pub use workflow::WorkflowStatus;

Modules§

command
The command registry.
config
keys.toml and views.toml.
form
A small multi-field editor, for the things that need more than one value.
fuzzy
Fuzzy matching, for the pickers and the : completion list.
history
Turning a flat event log into the thing a human wants to read.
jumplist
The jumplist: <C-o> back, <C-i> forward.
key
Key representation and vim-style key-notation parsing.
keymap
Key resolution: chords in, command ids out.
loadable
Four-state remote data.
mode
Editing modes.
mutation
Things that change a cluster, and the confirmation that stands in front of them.
outline
The collapsible view over a grouped history, and the virtualisation that makes it survive a large one.
payload
Temporal payloads: opaque bytes plus metadata saying how to read them.
picker
The picker: a filtered list you type at.
query
Visibility query strings.
schedule
Schedules: the things that start workflows on a timetable.
search
Searching what is already on screen.
timerange
Parsing the time window a backfill runs over.
workflow
The workflow domain model.