Rust bindings and a safe wrapper for taskwarrior.
This is still mostly in the contemplative and pre-alpha stage. I am a rust
novice still learning about FFI and unsafe
. I don't know C++, and I don't yet
know much about taskwarrior.
Due to improper use of unsafe
, I'd guess that this project could do
terrible things to your system, your taskwarrior database, etc., and I'd
strongly recommend that you don't use it, at least not yet, unless you know
much more about unsafe
and C++ than I do.
I hope to initially expose much of it as FFI calls into the real taskwarrior, and slowly migrate parts of it to rust. We'll see.
For anyone looking for a cool rust-based task management tool similar to taskwarrior, check out TaskChampion.
- Hello, world:
cargo test
runstaskwarrior list
via FFI - ... the rest of the taskwarrior API
- Safe wrapper
- TODO
- TODO
$ git clone https://github.com/n8henrie/taskwarrior-rs.git
$ cd taskwarrior-rs
$ git submodule update --init --recursive
$ cargo test -- --test-threads=1
- Install the rust toolchain in order to have cargo installed by following this guide.
- run
cargo install taskwarrior-rs
- Clone the repo: `git clone https://github.com/n8henrie/taskwarrior-rs
cd taskwarrior-rs/taskwarrior-sys
orcd taskwarrior-rs/taskwarrior
cargo test
- TODO
- https://github.com/GothenburgBitFactory/taskwarrior/
- https://michael-f-bryan.github.io/rust-ffi-guide/
- Several helpful and friendly people on https://users.rust-lang.org:
- @MoAlyousef
- @Michael-F-Bryan
- @dtolnay
- Many others!
- How can I install an older / specific version of taskwarrior-rs?
cargo install --version x.x