Matthias Beyer
585261d468
Add "isflag" support
2018-02-20 17:18:46 +01:00
Matthias Beyer
b9b15957fc
Merge branch 'libimagmail/rewrite-libimagref-api-usage' into libimagentryref/refactor
2018-02-19 12:17:48 +01:00
Matthias Beyer
672873c2f1
Make UniqueContactPathGenerator pub
2018-02-19 12:15:39 +01:00
Matthias Beyer
719daf952b
Refactor libimagcontact for new libimagentryref API
2018-02-19 12:15:39 +01:00
Matthias Beyer
30ad7d89b1
Reimplement libimagmail for new libimagentryref interface
2018-02-19 12:15:22 +01:00
Matthias Beyer
2b26db70ed
Make HabitBuilder derive Debug
2018-02-18 20:03:50 +01:00
Matthias Beyer
50b0ffa6ae
Remove calls to trace_error_exit()
2018-02-12 21:19:48 +01:00
Matthias Beyer
4a4e528aed
Refactor error handling
...
Refactor error handling so we do chain the error with the `?`
operator rather than wrapping it with own types.
Links to other error chains are created with error chain. All unneeded
error kinds were removed.
No API changes.
2018-02-11 23:44:27 +01:00
Matthias Beyer
77be32d80f
Remove "get" iterator, store provides this now
2018-02-11 23:44:27 +01:00
Matthias Beyer
30d2c28a22
Update version string: 0.6.0 -> 0.7.0
2018-02-11 14:22:24 +01:00
Matthias Beyer
3b710e082d
Add missing Cargo.toml metadata
2018-02-10 14:11:46 +01:00
Matthias Beyer
d5a9e4930d
Update dates in license header
...
And add missing header in one file
2018-02-07 02:48:53 +01:00
Matthias Beyer
29e88c5de0
Fix: Header entry setting
...
The header was not set properly. This fixes this bug.
2018-02-06 20:42:43 +01:00
Matthias Beyer
346e5a9444
Add link to toml_query error types
2018-02-06 20:42:43 +01:00
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
Matthias Beyer
31dc0eebc2
libimagcounter: Rewrite error handling
2017-09-03 21:33:54 +02:00
Matthias Beyer
c9dbf76395
libimagbookmark: Rewrite error handling
2017-09-03 21:33:54 +02:00
Matthias Beyer
0b068df84e
libimagnotes: Rewrite error handling
2017-09-03 21:33:54 +02:00
Matthias Beyer
603808a9fa
Impl IntoError for error kinds
2017-09-03 15:42:06 +02:00
Matthias Beyer
a309fdb280
Add recursion limits to crates
2017-09-03 15:42:06 +02:00
Matthias Beyer
11d881d3a9
Add dependency to crates: error_chain = 0.10
2017-09-03 15:42:06 +02:00
Matthias Beyer
e77d353c52
Rewrite macros to do error-chain behind the scenes
2017-09-03 15:42:03 +02:00
Mario Krehl
58a2729da0
Changed Task trait to TaskStore trait, implemented for the Store instead of the FileLockEntry
2017-09-02 14:30:27 +02:00
Mario Krehl
f3bb6d02d0
Change the Task(FileLockEntry) type to a trait
2017-09-02 12:23:29 +02:00
Matthias Beyer
048517a3c2
Fix readme links in cargo metadata
2017-09-01 18:48:02 +02:00
Matthias Beyer
21c15ca207
Adapt imag-diary to compile with the new libimagdiary API
2017-09-01 11:04:07 +02:00
Matthias Beyer
31fa07d43a
Add another small helper
2017-09-01 11:04:07 +02:00
Matthias Beyer
95b7da1ed2
Impl Entry (now DiaryEntry) as trait
2017-09-01 11:04:06 +02:00
Matthias Beyer
9c69645b69
Implement Diary as trait
2017-09-01 11:04:06 +02:00
Matthias Beyer
7e4275c420
Remove unused crate import
2017-08-31 20:56:13 +02:00
Matthias Beyer
9a9a3f2f43
Merge branch 'libimagstore/remove-unused' into integrate-remove-unused
...
The merge conflicts which were resolved may roll back some changes from
the merged branch (unknowingly).
These will be fixed in the next commits
2017-08-31 20:56:08 +02:00
Matthias Beyer
991fd7c3d4
Remove unused variable
2017-08-31 10:57:19 +02:00
Matthias Beyer
ac804bd839
Remove unused keyword "mut" where not needed
2017-08-31 10:57:11 +02:00
Matthias Beyer
ae5255c7c7
Remove unused crate imports
...
This patch removes unused crate imports reported by newer rust versions.
Some crates were only required for tests, some only for tests with
macro_import - these things were fixed with feature gates.
2017-08-31 10:56:15 +02:00
Matthias Beyer
6d40797a07
Fix libimagmail to use new libimagentryref interface
2017-08-28 14:32:50 +02:00
Matthias Beyer
c987130cc1
Merge pull request #1018 from matthiasbeyer/remove-toml-ext
...
Remove toml ext
2017-08-28 14:10:40 +02:00
Matthias Beyer
c0c62bd1b5
Change crates to use toml-query crate
2017-08-28 12:22:37 +02:00
Matthias Beyer
75e42d2f0b
Fix errors (former warnings) in several crates
...
This fixes errors (former warnings) in several locations.
2017-08-27 20:08:03 +02:00
Matthias Beyer
286de656df
Handle UTF-8 Errors by returning
2017-08-27 20:08:03 +02:00
Matthias Beyer
7a7ea5c211
Add debug messages
2017-08-27 20:08:03 +02:00
Matthias Beyer
d0f8002682
Ensure deny() for warnings is in all crates
2017-08-27 20:08:03 +02:00
Matthias Beyer
9081a2d58d
Fix libimag(entry)ref name
2017-08-27 18:57:59 +02:00
Matthias Beyer
ef93cf0243
libimagentrytimetrack -> libimagtimetrack
...
This is actually a domain library and thus should be put into the
lib/domain/ folder.
2017-08-27 18:23:47 +02:00
Matthias Beyer
2fcead5f53
Fix broken README symlinks
...
Along: Add files in documentation for modules that not yet had one.
2017-08-27 15:13:25 +02:00
Mario Krehl
8a63815854
Fix package name of libimagentryannotation
...
Fix: run `sed -i 's,libimagref,libimagentryref,g' (rg -l 'libimagref')`
Fix: run `sed -i 's,libimagannotation,libimagentryannotation,g' (rg -l 'libimagannotation')`
2017-08-27 15:13:25 +02:00
Matthias Beyer
59a3662ac4
Reorganize code in subdirs
2017-08-27 15:12:09 +02:00