Commit graph

83 commits

Author SHA1 Message Date
Dustin J. Mitchell
1c5e9b009b Add Replica::get_working_set_index and use it
This is probably ridiculously inefficient, as it will load the working
set for each and every task listed.  Optimize later!
2020-11-24 12:05:30 -05:00
Dustin J. Mitchell
2dd86edd4a use Replica::get_working_set_task 2020-11-24 11:54:48 -05:00
Dustin J. Mitchell
fc668e5ca8 use usize to index working set 2020-11-24 11:53:11 -05:00
Dustin J. Mitchell
d84c156782
Merge pull request #45 from djmitche/issue30
add an 'info' subcommand
2020-11-24 11:42:34 -05:00
Dustin J. Mitchell
8233763295 add an 'info' subcommand 2020-11-24 11:31:56 -05:00
Dustin J. Mitchell
888b38fd79
Merge pull request #42 from djmitche/issue28
use prettytable for tabular outputs
2020-11-24 09:47:48 -05:00
Dustin J. Mitchell
f31a96176d use prettytable for tabular outputs 2020-11-23 21:58:45 -05:00
Dustin J. Mitchell
f7f5c379ea
Merge pull request #41 from djmitche/refactor-cli
Refactor command-line handling
2020-11-23 21:35:04 -05:00
Dustin J. Mitchell
fe4183c3ca Refactor command-line handling into modules per subcommands 2020-11-23 21:29:46 -05:00
Dustin J. Mitchell
e0b69a62b1 fix --help metadata 2020-11-23 16:18:24 -05:00
Dustin J. Mitchell
1de24f66dc restore README to top level 2020-11-23 16:12:46 -05:00
Dustin J. Mitchell
635852c6d9
Merge pull request #39 from djmitche/issue14
Refactor into several crates
2020-11-23 16:10:18 -05:00
Dustin J. Mitchell
084c978b31 move docs back to top level 2020-11-23 16:07:38 -05:00
Dustin J. Mitchell
2296d0fa35 rename DB to TaskDB for consistency 2020-11-23 16:03:04 -05:00
Dustin J. Mitchell
8e2b4c3f6c Reorganize taskchampion crate for docs and tests
The public API of the taskchampion crate now contains the expected parts
and no more, and has some better documentation.

This moves the crate's external `tests/` into internal tests, as the
TaskDB is no longer exposed as part of the crate API.
2020-11-23 15:59:37 -05:00
Dustin J. Mitchell
8f4924f903 remove unnecessary 'extern crate' 2020-11-23 15:02:37 -05:00
Dustin J. Mitchell
ba55d298ce stop ignoring dead code and unused variables 2020-11-23 14:29:51 -05:00
Dustin J. Mitchell
779a331003 reorganize into separate crates
- taskchampion -- core implementation of a replica
 - taskchampion-cli -- command-line interface
 - taskchampion-sync-server -- server implementation (not much yet!)
2020-11-23 14:27:47 -05:00
Dustin J. Mitchell
2830043e13
Merge pull request #38 from djmitche/issue21
Reorganize the Task API
2020-11-23 13:46:16 -05:00
Dustin J. Mitchell
245969e390 make task a simple top-level module 2020-11-23 12:53:58 -05:00
Dustin J. Mitchell
634aaadb73 Reorganize handling of task data
This abandons field-by-field compatibility with the TaskWarrior TDB2
format, which wasn't a sustainable strategy anyway.

Instead, tasks are represented as a TaskMap with custom key formats.  In
this commit, there are only a few allowed keys, with room to grow.

Replica returns convenience wrappers Task (read-only) and TaskMut
(read-write) with getters and setters to make modifying tasks easier.
2020-11-23 12:53:58 -05:00
Dustin J. Mitchell
c2c2a00ed5
Merge pull request #36 from djmitche/issue20
refactor working-set support, improve data model docs
2020-11-22 19:48:52 -05:00
Dustin J. Mitchell
03e4fc7cee Refactor working-set support, add pending tasks
This refactors the working-set support so that taskdb knows how to
rebuild the working set (in a single transaction) but replica knows what
tasks should be in that set.

This also adds support for automatically adding tasks to the working set
when they are marked pending.  Note that tasks are not *removed* from
the working set automatically, but only on a gc operation.
2020-11-22 18:19:05 -05:00
Dustin J. Mitchell
39a0dfe798 revise and expand docs about storage / taskdb / replica 2020-11-22 17:30:42 -05:00
Dustin J. Mitchell
ffbf272afc
Merge pull request #32 from djmitche/issue22
fix up some TODOs in replica.rs
2020-11-22 00:56:10 -05:00
Dustin J. Mitchell
1a2c17ab8c
Merge branch 'main' into issue22 2020-11-22 00:55:58 -05:00
Dustin J. Mitchell
4074db7729
Merge pull request #31 from djmitche/issue15-more
remove more taskwarrior compatibility stuff
2020-11-22 00:55:39 -05:00
Dustin J. Mitchell
f45292d049 remove more taskwarrior compatibility stuff 2020-11-22 00:51:41 -05:00
Dustin J. Mitchell
74fb3c3c41 fix up some TODOs in replica.rs 2020-11-21 23:46:53 -05:00
Dustin J. Mitchell
b3a0fe9f20
Merge pull request #27 from djmitche/issue12
add an mdbook
2020-11-21 21:32:09 -05:00
Dustin J. Mitchell
17fe90c8d0 poor excuse for documentation 2020-11-21 21:27:58 -05:00
Dustin J. Mitchell
ae8872d51e add an mdbook 2020-11-21 21:27:58 -05:00
Dustin J. Mitchell
1e28289b8b
Merge pull request #19 from djmitche/issue3
use a v1 .taskcluster.yml
2020-11-21 19:15:57 -05:00
Dustin J. Mitchell
c8a28b5ab3 install rustfmt 2020-11-21 19:09:55 -05:00
Dustin J. Mitchell
2bd68e85d3 remove TODO (now moved to issues) 2020-11-21 19:06:15 -05:00
Dustin J. Mitchell
0e792ad584 use a v1 .taskcluster.yml 2020-11-21 18:55:29 -05:00
Dustin J. Mitchell
785f3940c5
Merge pull request #17 from djmitche/issue13
rename to taskchampion
2020-11-21 18:01:44 -05:00
Dustin J. Mitchell
1fa6155b22 rename to taskchampion 2020-11-21 18:01:25 -05:00
Dustin J. Mitchell
8ed54e9728
Merge pull request #16 from djmitche/issue15
remove taskwarrior compatibility stuff
2020-11-21 17:54:01 -05:00
Dustin J. Mitchell
3ddaff07ca remove taskwarrior compatibility stuff 2020-11-21 17:52:09 -05:00
Dustin J. Mitchell
ae93d91b6e more CLI compatibility WIP 2020-02-02 18:46:27 -05:00
Dustin J. Mitchell
cfdb266800 add some cli parsing stuff 2020-02-02 15:11:14 -05:00
Dustin J. Mitchell
61b2de132b support rebuilding the working set 2020-01-19 15:55:15 -05:00
Dustin J. Mitchell
12980da5fd add working_set support to taskstorage 2020-01-19 14:56:09 -05:00
Dustin J. Mitchell
ad08991292 Start on making replica higher-level, with some TODO's 2020-01-19 14:03:03 -05:00
Dustin J. Mitchell
4203f232ad docs 2020-01-12 16:00:40 -05:00
Dustin J. Mitchell
f8977c9ce3 use kv in cli 2020-01-12 13:51:58 -05:00
Dustin J. Mitchell
4172c7012c simplify the taskstorage methods 2020-01-12 13:48:16 -05:00
Dustin J. Mitchell
2f973d3e62 task storge implementation based on kv / LMDB 2020-01-12 13:36:02 -05:00
Dustin J. Mitchell
afd11d08a7 make the TaskStorage API fallible everywhere 2020-01-05 15:39:34 -05:00