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.)
  • 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

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

Write XmlEvents to the supplied writer.

Type Definitions

Command line parser and application driver

Wrapper for configuration information

Wrapper for Dates as used in the crate

Wrapper for Date/Times as used in the crate

Represention of a day as a set of times, entries, and durations.

Module representing an entry in the timelog

An error that occurs in the working with timelogs

Interface to the logfile for the timelog application.

Result type for timelog

Interface to the stack file for the timelog application.

Type representing a single task entry.

Iterator for walking task lines