Commit Graph

4569 Commits

Author SHA1 Message Date
Matthias Beyer 8104b1cf0b Adapt tests
This changes the internal function `link_from_to` a bit, but as this is
only internal we don't care.
2017-12-23 12:57:15 +01:00
Matthias Beyer 9ec5ed9b05 Rewrite imag-link commandline to be intelligent
This patch is a rewrite for the imag-link commandline to automatically
recognize whether an internal or an external link is about to be made
and automatically do the right thing.

The commandline got a lot easier and also smaller in size (as in number
of commands), but the functionality should remain the same.
2017-12-23 12:57:13 +01:00
Matthias Beyer 7a12d82552
Merge pull request #1169 from matthiasbeyer/imag-habit/init
Imag habit/init
2017-12-22 16:20:09 +01:00
Matthias Beyer 05a630f943 Change UI. Positional args are not possible here 2017-12-22 14:40:01 +01:00
Matthias Beyer 6a7e7f0f12 Add functionality so we can create a habit with a due date 2017-12-22 14:40:01 +01:00
Matthias Beyer df16d0737e Adapt for new API of Habit::next_instance_date()
With cd8f0beae8
the interface of `HabitTemplate::next_instance_date()` changed to return
a `Result<Option<_>>` rather than a `Result<_>` because the
next_instance_date could be a None if the Habit was closed already.

This patch adapts imag-habit for this new interface.
2017-12-22 14:40:01 +01:00
Matthias Beyer 501f67dcf2 Add more output in today() 2017-12-22 14:40:01 +01:00
Matthias Beyer 496850a762 Add future-check in CLI and fix for default command invokation 2017-12-22 14:40:01 +01:00
Matthias Beyer 39a983f6fb Add more details to default command 2017-12-22 14:40:01 +01:00
Matthias Beyer 7cf46f99d4 Add `done` functionality 2017-12-22 14:40:01 +01:00
Matthias Beyer b78095d8bc Impl delete() 2017-12-22 14:40:01 +01:00
Matthias Beyer ff39a450b1 Explicitely state that printing an empty table is forbidden 2017-12-22 14:40:01 +01:00
Matthias Beyer 404d839310 Make "today" the default command 2017-12-22 14:40:01 +01:00
Matthias Beyer 0fa1ae28f8 Let "today" command list upcoming habits 2017-12-22 14:40:01 +01:00
Matthias Beyer 5574764d83 Add a subcommand to list habits due today 2017-12-22 14:40:01 +01:00
Matthias Beyer 2520635cae Add support for listing the next date when the habit must be done 2017-12-22 14:40:01 +01:00
Matthias Beyer 6e7414a2fd Implement show() 2017-12-22 14:40:01 +01:00
Matthias Beyer 915b1325d2 Implement list() 2017-12-22 14:40:01 +01:00
Matthias Beyer 528b30c1ff Implement create() 2017-12-22 14:40:01 +01:00
Matthias Beyer d1848e9186 Add CLI spec 2017-12-22 14:40:01 +01:00
Matthias Beyer be79f6373e Import crate for imag-habit 2017-12-22 14:40:01 +01:00
Matthias Beyer 840bc86c90
Merge pull request #1178 from matthiasbeyer/libimaghabit/fix-until
Fix: Until date is still optional
2017-12-22 14:39:41 +01:00
Matthias Beyer 6246d25c9d Fix: Until date is still optional 2017-12-22 13:20:11 +01:00
Matthias Beyer 09c9eb6090
Merge pull request #1175 from matthiasbeyer/libimaghabit/remove-unused
libimaghabit: Remove unused things
2017-12-22 12:29:50 +01:00
Matthias Beyer e2787c0087
Merge pull request #1174 from matthiasbeyer/libimaghabit/until-date
libimaghabit: Add until-date support
2017-12-22 12:08:36 +01:00
Matthias Beyer 9bf4b9604b Remove unused variables 2017-12-22 11:03:42 +01:00
Matthias Beyer 90ed0c0e10 Remove unused macro import 2017-12-22 11:02:55 +01:00
Matthias Beyer 96b51280ab Remove unused imports 2017-12-22 11:01:35 +01:00
Matthias Beyer cd8f0beae8 Add until-date support 2017-12-22 10:59:27 +01:00
Matthias Beyer 1f92ae3ad5
Merge pull request #1171 from matthiasbeyer/doc-update
Doc update
2017-12-21 15:05:33 +01:00
Matthias Beyer 7c752e8ef3 Update list of library todos 2017-12-20 14:45:26 +01:00
Matthias Beyer 872dbb91e0 Update todo-list of crates which are done 2017-12-20 14:45:02 +01:00
Matthias Beyer 19c360d42b
Merge pull request #1170 from matthiasbeyer/libimaghabit/api-cleanup
libimaghabit: API cleanup
2017-12-19 19:57:51 +01:00
Matthias Beyer ddf703eaa0 Add HabitTemplate::next_instance_date_after()
Rewrite HabitTemplate::next_instance_date() to use the new function
2017-12-19 19:13:12 +01:00
Matthias Beyer 6f244a52ff Add function to instantiate with a given date
Use that function in the `create_instance()` function which was renamed
to `create_instance_today()`.
2017-12-19 19:13:04 +01:00
Matthias Beyer 3d96170021
Merge pull request #1042 from matthiasbeyer/libimaghabit/init
libimaghabit: init
2017-12-08 15:47:28 +01:00
Matthias Beyer 13e9ee3ffa Add Habit::next_instance_date() 2017-12-08 14:54:49 +01:00
Matthias Beyer f81faa3f6a Make "util" pub 2017-12-08 14:54:49 +01:00
Matthias Beyer 999bdf8d0d Add HabitTemplate::linked_instances() function 2017-12-08 14:54:49 +01:00
Matthias Beyer 3b319fd4f0 Add HabitInstanceStoreIdIterator::new 2017-12-08 14:54:49 +01:00
Matthias Beyer 30e05d21f9 Add debugging output 2017-12-08 14:54:49 +01:00
Matthias Beyer 90a4139ede Make builder consuming 2017-12-08 14:54:49 +01:00
Matthias Beyer dc7a315176 Getter for all instances 2017-12-08 14:54:45 +01:00
Matthias Beyer b181b488a2 Add extension to check whether an Entry or a StoreId points to a habit instance/template 2017-12-08 14:54:45 +01:00
Matthias Beyer 9af2f34b58 Outsource instance id creation to helper fn 2017-12-08 14:54:45 +01:00
Matthias Beyer 6a13567efc dependency: kairos: beta-1 -> beta-2 2017-12-08 14:54:45 +01:00
Matthias Beyer 0ffbb2ef1a Add kairos error chain integration 2017-12-08 14:54:45 +01:00
Matthias Beyer 2c655daa39 Add IsValidHabitObj helper trait 2017-12-08 14:54:45 +01:00
Matthias Beyer 6b33fc9e6f Update kairos: master -> 0.1.0-beta-1 2017-12-08 14:54:45 +01:00
Matthias Beyer a6a36455f5 Add recur spec with kairos support 2017-12-08 14:54:41 +01:00