Skip to content
[Todo.txt]( file format parser in Rust
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

Todo.txt file format parser

This is a todo.txt file format parser. The format was proposed by Gina Trapani. This parser supports some custom tags:

  • Due date (due:YYYY-MM-DD).
  • Threshold date (t:YYYY-MM-DD).
  • Recurrent tasks (rec:+?[0-9]+[dbmy]).

It also parses all @contexts and +projects. Also, it additionally parses #hashtags.

Usage is very simple. First add it to your Cargo.toml:

todotxt = "^0.3"

Then use it:

extern crate todotxt;

use todotxt::Task;
use std::fs::File;
use std::io::prelude::*;
use std::io::BufReader;

fn main() {
    let mut todo_file = BufReader::new(File::open("/home/kstep/todo/todo.txt").unwrap());
    for line in todo_file.lines() {
        let todo_item: Task = line.unwrap().parse().unwrap();
        // Now work with Task


Licensed under either of

at your option.


Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

You can’t perform that action at this time.