Skip to content
[Todo.txt](http://todotxt.com/) file format parser in Rust
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
src
.gitignore
Cargo.toml
LICENSE-APACHE
LICENSE-MIT
README.md
rustfmt.toml

README.md

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:

[dependencies]
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
    }
}

License

Licensed under either of

at your option.

Contribution

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.