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

Modules

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

Macros

Type Aliases