Commit Graph

181 Commits

Author SHA1 Message Date
Matthias Beyer e2e3b4f6e2 Update kairos dependency: 0.1.0-beta-2 -> 0.1.0 2018-02-05 16:20:05 +01:00
Matthias Beyer da0c1fa594 Rewrite From<> implementations for habit iterators
to be generic over all iterators over StoreIds, so they can be build
directly from them.
2018-02-01 16:46:38 +01:00
Matthias Beyer 4d94791b1f Move date <-> string conversion utility to libimagutil 2018-02-01 09:26:33 +01:00
Matthias Beyer 635d000344 log: 0.4.0-rc.1 -> 0.4.0 2018-01-15 11:21:52 +01:00
Matthias Beyer f209e12410 Update dependency: log: 0.3.* -> 0.4.0-rc.1 2018-01-15 11:20:07 +01:00
Matthias Beyer 13ff09d8c6 libimagtodo: Replace read with typed read 2018-01-13 01:14:03 +01:00
Matthias Beyer 397f79b238 libimagtimetrack: Replace read with typed read 2018-01-13 01:14:03 +01:00
Matthias Beyer cb0cb21220 libimagnotes: Replace read with typed read 2018-01-13 01:14:03 +01:00
Matthias Beyer 014b54ad4e libimaglog: Replace read with typed read 2018-01-13 01:14:03 +01:00
Matthias Beyer f2b72f4738 libimaghabit: Replace read with typed read 2018-01-13 01:14:03 +01:00
Matthias Beyer 46774d765b libimagdiary: Replace read with typed read 2018-01-13 01:14:03 +01:00
Matthias Beyer 0c4be78223 Update dependency: toml-query -> 0.6 2018-01-13 01:14:03 +01:00
Matthias Beyer 9a9701fce5 Add flag settings/Contact::is_contact in libimagcontact 2018-01-08 23:46:36 +01:00
Matthias Beyer 1f133eac3b Use libimagentryutil::isa::Is in libimaghabit 2018-01-08 23:31:10 +01:00
Matthias Beyer 80c460dac9 Transform BookmarkCollection into two traits
One trait is implemented on the Store, it retrieves BookmarkCollection
objects.
The other is implemented on `libimagstore::store::Entry` which then
represents a BookmarkCollection.
2018-01-08 15:16:14 +01:00
Matthias Beyer c0f4a20367
Merge pull request #1200 from matthiasbeyer/refactor-matching-into-command-chaining
Refactor matching into command chaining
2018-01-05 15:19:32 +01:00
Matthias Beyer 2c0f35e1a4
Merge pull request #1195 from matthiasbeyer/libimagdiary/support-seconds
Add second-support in libimagdiary
2018-01-05 13:54:12 +01:00
Matthias Beyer dd66936e48 Refactoring: Use function chaining rather than matching 2018-01-05 11:37:09 +01:00
Matthias Beyer a386d50df3 Refactoring: Use function chaining rather than matching 2018-01-05 11:37:09 +01:00
Matthias Beyer e7d5e9ebc2 Refactoring: Use function chaining rather than matching 2018-01-05 11:37:09 +01:00
Matthias Beyer 4bb0d0f073 Refactor: Use function chaining instead of matching 2018-01-05 11:37:09 +01:00
Matthias Beyer dbd9a2faaf Replace matching with function chaining 2018-01-05 11:37:09 +01:00
Matthias Beyer c1ff2b14f0 Replace matching with function chaining 2018-01-05 11:37:09 +01:00
Matthias Beyer 57cf5003bd Move common functionality to utility module 2018-01-05 11:37:09 +01:00
Matthias Beyer 0640bdeb73 Add second-support in libimagdiary 2018-01-04 19:39:07 +01:00
Matthias Beyer af819f0fca Remove unneeded "mut" 2018-01-04 19:34:21 +01:00
Matthias Beyer 198e304be9 Initial import of libimaglog implementation 2017-12-25 21:55:04 +01:00
Matthias Beyer 92d4a0237e Initial import: libimaglog 2017-12-25 21:46:04 +01:00
Matthias Beyer 3c8dd19d11 Update version strings: 0.5.0 -> 0.6.0 2017-12-25 19:17:07 +01:00
Matthias Beyer 0ed636bb06 Refactor libimagrt+libimagstore to pass whole configuration object
Before we extracted the store configuration from the configuration
toml::Value object and passed it to the store.

This is unecessary overhead.

Now we pass the whole configuration object and let the store extract the
required values.
2017-12-24 13:52:18 +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 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 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 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
Matthias Beyer 42cabffa64 Implement HabitInstance for Entry 2017-12-08 14:54:41 +01:00
Matthias Beyer 533d97532b Move date-string conversion utils to util module 2017-12-08 14:54:40 +01:00
Matthias Beyer a71c9281ec Initial import 2017-12-08 14:54:40 +01:00
Matthias Beyer 167511afec Fix formatting and adjust module/lib documentation
Also add symlink in module implementation to lib-documentation.
2017-12-08 14:54:40 +01:00
Matthias Beyer 04d5af8d50 Switch to upstream rust-vobject 2017-11-09 11:21:17 +01:00
Matthias Beyer dfbc69400a Let ContactData be unpacked and derefd 2017-10-31 19:10:11 +01:00
Matthias Beyer 4fa41faa59 Add iterator for contacts 2017-10-31 19:10:11 +01:00
Matthias Beyer b05c8c6f6d Replace search_contact() with all_contacts()
We can then use filters to filter out the non relevant ones.
2017-10-31 19:10:11 +01:00
Matthias Beyer f3d75e97b6 Rely on own clone of rust-vobject 2017-10-31 19:10:10 +01:00
Matthias Beyer 12e8657eb9 Add Contact::is_contact() 2017-10-31 19:09:43 +01:00
Matthias Beyer f2bd241a59 Add error for header type error 2017-10-31 19:09:43 +01:00
Matthias Beyer aae19221b6 Impl Contact::get_contact_data() 2017-10-31 19:09:43 +01:00
Matthias Beyer ce5e7f5252 Impl Store::create_from_path() 2017-10-31 19:09:43 +01:00
Matthias Beyer c14c19483c Add lib internal utilities 2017-10-31 19:09:43 +01:00
Matthias Beyer 577f8d313a Add more error links 2017-10-31 19:09:43 +01:00
Matthias Beyer 04182f5cb6 Add initial layout of code 2017-10-31 19:09:43 +01:00
Matthias Beyer eaa9ad5993 Add basic documentation on how the lib works 2017-10-31 19:09:43 +01:00
Matthias Beyer 434505f1f0 Initial import of libimagcontact 2017-10-31 19:09:41 +01:00
Matthias Beyer f82ad2b6d1 Replace uses of try!() macro with "?" operator 2017-10-31 15:04:50 +01:00
Matthias Beyer 29c9ad71b5 Replace uses of try!() macro with "?" operator 2017-10-31 15:04:50 +01:00
Matthias Beyer a44d79093c Replace uses of try!() macro with "?" operator 2017-10-31 15:04:50 +01:00
Matthias Beyer e758a28c9e Replace uses of try!() macro with "?" operator 2017-10-31 15:04:50 +01:00
Matthias Beyer a20871eb5e Add badges in Cargo.toml of all crates 2017-10-31 15:03:30 +01:00
Matthias Beyer ea618ee3c7 Remove unused variable 2017-10-31 15:03:30 +01:00
Matthias Beyer b237adfe19 Fix calls to Runtime::config() to use direct result 2017-10-31 09:25:14 +01:00
Matthias Beyer 758166637b Update toml-query: 0.3.* -> 0.4
This update is needed for the error-chain update, as the toml-query
0.4.0 release also bumps this dependency.
2017-10-12 22:13:04 +02:00
Matthias Beyer 663242db7e Update dependency: error-chain: 0.10 -> 0.11 2017-10-12 22:12:27 +02:00
Matthias Beyer 013e82f04f Update dependency: filters: 0.1 -> 0.2 2017-10-12 19:48:01 +02:00
Matthias Beyer 67a127f700 Update dependency: itertools: 0.6 -> 0.7 2017-10-12 19:45:50 +02:00
Matthias Beyer 643db0df3a Remove libimagcounter / imag-counter 2017-09-28 22:41:23 +02:00
Matthias Beyer 046eb5eca3 Merge pull request #1108 from matthiasbeyer/libimagentryref/refactor-errors
Refactor errors to use error-chain linking functionality
2017-09-24 15:23:04 +02:00
Matthias Beyer 2ce75251d9 Adjust for new error linking setup in libimagentryref 2017-09-24 13:05:16 +02:00
Matthias Beyer 73f6016221 Update version strings: 0.4.0 -> 0.5.0 2017-09-24 13:05:01 +02:00
Matthias Beyer da4d670cbc Base IsInDiary::is_in_diary() on StoreId::is_in_collection(), which is tested 2017-09-20 18:48:55 +02:00
Matthias Beyer 162b36d6ee Update dependency specs
Most notably:

* env_logger: 0.4 -> 0.5
* hoedown: 5.0.0 -> 6.0.0
* itertools: 0.5 -> 0.6
* lazy_static: 0.1.15 -> 0.2
* regex: 0.1 -> 0.2
* semver: 0.5 -> 0.8
* url: 1.2 -> 1.5
* uuid: 0.3 -> 0.5

(This list is most surely not complete)
2017-09-19 17:16:19 +02:00
Matthias Beyer 94855fb722 Refactor libimagdiary
To not wrap types anymore, but rather use extension traits for extending
all the things.
2017-09-15 13:53:16 +02:00
Matthias Beyer 976f280511 Update toml-query: 0.3.* -> ^0.3.1
This release contains a bugfix for a critical bug in the
`TomlValueInsertExt::insert()` algorithm which was triggered by an
edgecase.
2017-09-06 19:30:32 +02:00
Matthias Beyer c115215fa4 Merge branch 'master' into libimagerror/integration
This merge solved a _LOT_ of conflicts and was a rather complicated one,
as parts of the conflict-resolution involved rewriting of half the
stuff.

This merge commit fixes all the things so a `cargo check --all`
succeeds, but I did not yet check whether tests run without failure.
2017-09-04 23:02:45 +02:00
Matthias Beyer 6d1dab3117 Merge pull request #1029 from matthiasbeyer/all-extensions-as-traits
All extensions as traits
2017-09-04 21:59:54 +02:00
Matthias Beyer 39dd9e8d7c Add Task trait for getting UUID from task 2017-09-04 09:20:14 +02:00
Matthias Beyer 72ea21ee1f Rename module task -> taskstore 2017-09-04 09:20:14 +02:00
Matthias Beyer 18e806f588 Remove dedicated result modules, use error chain generated Result types 2017-09-04 09:19:29 +02:00
Matthias Beyer 7ce44e8090 Remove "IntoError" trait, use error_chain functionality 2017-09-03 21:34:07 +02:00
Matthias Beyer 936a314efa libimagtodo: Rewrite error handling 2017-09-03 21:33:54 +02:00
Matthias Beyer a5bb7a9bec libimagtimetrack: Rewrite error handling 2017-09-03 21:33:54 +02:00
Matthias Beyer 22cff91653 libimagmail: Rewrite error handling 2017-09-03 21:33:54 +02:00
Matthias Beyer 677a5e8886 libimagdiary: Rewrite error handling 2017-09-03 21:33:54 +02:00