Crate task_hookrs

source ·
Expand description

This crate exports functionality to import and export taskwarrior-compatible JSON by translating the JSON into rust types and vice-versa.

For example:

  use std::io::stdin;

  use task_hookrs::task::{Task, TW26};
  use task_hookrs::import::import;

  if let Ok(tasks) = import::<TW26, _>(stdin()) {
      for task in tasks {
          println!("Task: {}, entered {:?} is {} -> {}",
                    task.uuid(),
                    task.entry(),
                    task.status(),
                    task.description());
      }
  }

Modules

  • Module containing types and functions for annotations of tasks
  • Module for wrapping chrono::naive::datetime::NaiveDateTime
  • Definitions for error handling with failure
  • Module containing the import() function
  • Module containing TaskPriority type
  • Module containing Project type
  • Module containing TaskStatus type and trait impls
  • Module containing Tag type
  • Module containing Task type as well as trait implementations
  • This module offers functions to interact with taskwarrior. This will expect the task binary in your path. This will always call task and never interact with your .task directory itself. (This is in accordance with the taskwarrior api guide lines.)
  • Module containing the types for User Defined Attributes (UDA)
  • Module containing Urgency type