/haskell-taskwarrior

Types and aeson instances for the taskwarrior json import/export specification

Primary LanguageHaskellGNU Affero General Public License v3.0AGPL-3.0

taskwarrior

Hackage Build Status Hackage Deps

About

Taskwarrior is a feature rich command-line task management tool.

This Haskell library contains

  • a data type to represent a taskwarrior task
  • Aeson instances to deserialize and serialize a task according to the taskwarrior import/export specifications
  • IO actions to load and manipulate tasks by calling the task command. (Since this is the encouraged way to library design by the taskwarrior developers.)

Usage

Install taskwarrior from hackage. Have a look at Taskwarrior.IO.getTasks to get started.

This example prints the description of (at the most) 5 pending tasks.

import Taskwarrior.IO (getTasks)
import Taskwarrior.Task as Task

main :: IO ()
main = do
  tasks <- getTasks ["+PENDING", "limit:5"]
  print $ Task.description <$> tasks

Contributions

Any form of issue reports, general feedback or suggestions and of course code contributions are highly welcome.