Crate timelog

Source
Expand description

System for logging time entries in a text-log-based format.

The rtimelog application applies these concepts as a command line tool.

This library supports the various concepts that go into making a timelog. The core functionality is based around the concepts:

  • Day - a container for events that we wish to track
  • Entry - a task to be accomplished as a continuous chunk of time
  • Logfile - list of all the that events started by the program
  • Stack - a stack of tasks that we may want to go back to

Further support for working these events is supplied by:

  • Cli - Handles the functionality provided by the command line tool
  • Config - Wrap the configuration information in an object
  • Date - A utility type that simplifies working with dates (including parsing, etc.)
  • DateRange - A pair of Dates representing a half-open range of days.
  • DateTime - A utility type that simplifies working with date/times (including parsing, etc.)
  • Error - an enumeration of the errors that can be encountered in processing timelogs
  • Result - Result specialized for Error
  • TaskEvent - Type representing a single entry tracked by timelog.
  • TaskLineIter - an iterator for walking the entry lines in a timelog file

Re-exports§

pub use cli::Cli;
pub use config::Config;
pub use date::Date;
pub use date::DateRange;
pub use date::DateTime;
pub use day::Day;
pub use entry::Entry;
pub use error::Error;
pub use logfile::Logfile;
pub use stack::Stack;
pub use task::TaskEvent;
pub use task_line_iter::TaskLineIter;

Modules§

chart
Representation of charts for timelog
cli
Support for accessing the timelog logic from a tool
config
Configuration file definition
date
Utilities for working with dates and times
day
Represention of a day as a set of times, entries, and durations.
entry
Module representing an entry in the timelog.
error
An error that occurs in working with timelogs
file
Interface for manipulating the end of a file.
logfile
Interface to the timelog file for the timelog application.
stack
Interface to the stack file for the timelog application.
task
Represention of a task event.
task_line_iter
Iterator filter for walking relevant task lines from an iterator

Macros§

emit_xml
Write XmlEvents to the supplied writer.

Type Aliases§

Result
Result type for timelog