![]() TC 0.7.0 introduces a new `TaskData` type that maps to Taskwarrior's `Task` type more cleanly. It also introduces the idea of gathering lists of operations and "committing" them to a replica. A consequence of this change is that TaskChampion no longer automatically maintains dependency information, so Taskwarrior must do so, with its `TDB2::dependency_sync` method. This method does a very similar thing to what TaskChampion had been doing, so this is a shift of responsibility but not a major performance difference. Cxx is .. not great. It is missing a lot of useful things that make a general-purpose bridge impractical: - no support for trait objects - no support for `Option<T>` (https://github.com/dtolnay/cxx/issues/87) - no support for `Vec<Box<..>>` As a result, some creativity is required in writing the bridge, for example returning a `Vec<OptionTaskData>` from `all_task_data` to allow individual `TaskData` values to be "taken" from the vector. That said, Cxx is the current state-of-the-art, and does a good job of ensuring memory safety, at the cost of some slightly awkward APIs. Subsequent work can remove the "TDB2" layer and allow commands and other parts of Taskwarrior to interface directly with the `Replica`. |
||
---|---|---|
.cargo | ||
.devcontainer | ||
.github | ||
cmake | ||
doc | ||
docker | ||
misc | ||
performance | ||
scripts | ||
src | ||
test | ||
.clang-format | ||
.git-blame-ignore-revs | ||
.gitignore | ||
.gitmodules | ||
.pre-commit-config.yaml | ||
AUTHORS | ||
Cargo.lock | ||
Cargo.toml | ||
ChangeLog | ||
cmake.h.in | ||
CMakeLists.txt | ||
commit.h.in | ||
COPYING | ||
DEVELOPER.md | ||
docker-compose.yml | ||
index.html | ||
INSTALL | ||
LICENSE | ||
README.md |
Taskwarrior
Taskwarrior is a command line task list management utility with a multitude of features, developed as a portable open source project with an active and quite vast ecosystem of tools, hooks and extensions.
Install
Taskwarrior is packaged on a wide range of Linux/Unix systems, Mac OS and Windows. Check out the latest available packages in repositories of your OS distribution of choice on Repology.
Alternatively, you can build Taskwarrior from source.
Documentation
The online documentation, downloads, news and more are available on our website, taskwarrior.org.
Community
Taskwarrior has a lively community on many places on the internet.
Best place to ask questions is our discussions forum on Github. For other support options, take a look at taskwarrior.org/support
For code contributions, please use pull requests. See Contributing to Taskwarrior for more details.
Contributing
Your contributions are especially welcome.
Whether it comes in the form of code patches, ideas, discussion, bug reports, encouragement or criticism, your input is needed.
See further development documentation in doc/devel
.
Sponsoring
Taskwarrior is a result of work of mostly small group of volunteers, and has been in development since 2006.
If you are a happy Taskwarrior user, please consider sponsoring us through Github Sponsors.
Every sponsorship matters, as it directly increases the number of hours core developers can contribute to the project and makes the project more sustainable.
License
Taskwarrior is released under the MIT license. For details check the LICENSE file.