45fdeb4e18
Add helper to check whether an instance exists for a date
2018-03-22 13:44:41 +01:00
5d9fd7ab10
Simplify error handling by using linking feature of error-chain
2018-03-12 19:21:48 +01:00
e8ae2fb73e
Add type so that we can serialize a Vcard
2018-03-12 17:45:50 +01:00
65d558727e
Change ref creation to use UID from vcard object
2018-03-12 14:43:02 +01:00
252046583a
Merge pull request #1332 from matthiasbeyer/libimagcontact/all-contacts
...
Implement ContactStore::all_contacts()
2018-03-12 14:17:54 +01:00
8a9b2e9a8f
Fix: use Path::file_stem() instead of Path::file_name()
...
Because we don't want to know the extension of the filename here.
2018-03-12 13:30:31 +01:00
3bf1b6ccec
Implement ContactStore::all_contacts()
2018-03-12 12:52:24 +01:00
8c37fb865a
Rebuild DiaryEntryIterator to be based on StoreIdIterator
...
This patch rebuilds DiaryEntryIterator to be a wrapper around
StoreIdIterator and thus `Diary::entries()` to use `Store::entries` and
not `Store::retrieve_for_module()`.
The `Store::retrieve_for_module()` function is somehow buggy and loads
contents of the files into memory and _somehow_ causes the entries to be
rewritten without newlines.
This bug is fixed by moving away from `Store::retrieve_for_module()`.
2018-03-02 21:25:48 +01:00
Dylan DPC
e7a5e73d25
Update Cargo.toml
2018-02-26 17:04:53 +05:30
b2048b3dcf
Merge pull request #1306 from matthiasbeyer/minor
...
Minor patches
2018-02-20 20:23:41 +01:00
404e9deed2
Add some debug output
2018-02-20 17:29:03 +01:00
585261d468
Add "isflag" support
2018-02-20 17:18:46 +01:00
b9b15957fc
Merge branch 'libimagmail/rewrite-libimagref-api-usage' into libimagentryref/refactor
2018-02-19 12:17:48 +01:00
672873c2f1
Make UniqueContactPathGenerator pub
2018-02-19 12:15:39 +01:00
719daf952b
Refactor libimagcontact for new libimagentryref API
2018-02-19 12:15:39 +01:00
30ad7d89b1
Reimplement libimagmail for new libimagentryref interface
2018-02-19 12:15:22 +01:00
2b26db70ed
Make HabitBuilder derive Debug
2018-02-18 20:03:50 +01:00
50b0ffa6ae
Remove calls to trace_error_exit()
2018-02-12 21:19:48 +01:00
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
77be32d80f
Remove "get" iterator, store provides this now
2018-02-11 23:44:27 +01:00
30d2c28a22
Update version string: 0.6.0 -> 0.7.0
2018-02-11 14:22:24 +01:00
3b710e082d
Add missing Cargo.toml metadata
2018-02-10 14:11:46 +01:00
d5a9e4930d
Update dates in license header
...
And add missing header in one file
2018-02-07 02:48:53 +01:00
29e88c5de0
Fix: Header entry setting
...
The header was not set properly. This fixes this bug.
2018-02-06 20:42:43 +01:00
346e5a9444
Add link to toml_query error types
2018-02-06 20:42:43 +01:00
e2e3b4f6e2
Update kairos dependency: 0.1.0-beta-2 -> 0.1.0
2018-02-05 16:20:05 +01:00
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
4d94791b1f
Move date <-> string conversion utility to libimagutil
2018-02-01 09:26:33 +01:00
635d000344
log: 0.4.0-rc.1 -> 0.4.0
2018-01-15 11:21:52 +01:00
f209e12410
Update dependency: log: 0.3.* -> 0.4.0-rc.1
2018-01-15 11:20:07 +01:00
13ff09d8c6
libimagtodo: Replace read with typed read
2018-01-13 01:14:03 +01:00
397f79b238
libimagtimetrack: Replace read with typed read
2018-01-13 01:14:03 +01:00
cb0cb21220
libimagnotes: Replace read with typed read
2018-01-13 01:14:03 +01:00
014b54ad4e
libimaglog: Replace read with typed read
2018-01-13 01:14:03 +01:00
f2b72f4738
libimaghabit: Replace read with typed read
2018-01-13 01:14:03 +01:00
46774d765b
libimagdiary: Replace read with typed read
2018-01-13 01:14:03 +01:00
0c4be78223
Update dependency: toml-query -> 0.6
2018-01-13 01:14:03 +01:00
9a9701fce5
Add flag settings/Contact::is_contact in libimagcontact
2018-01-08 23:46:36 +01:00
1f133eac3b
Use libimagentryutil::isa::Is in libimaghabit
2018-01-08 23:31:10 +01:00
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
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
2c0f35e1a4
Merge pull request #1195 from matthiasbeyer/libimagdiary/support-seconds
...
Add second-support in libimagdiary
2018-01-05 13:54:12 +01:00
dd66936e48
Refactoring: Use function chaining rather than matching
2018-01-05 11:37:09 +01:00
a386d50df3
Refactoring: Use function chaining rather than matching
2018-01-05 11:37:09 +01:00
e7d5e9ebc2
Refactoring: Use function chaining rather than matching
2018-01-05 11:37:09 +01:00
4bb0d0f073
Refactor: Use function chaining instead of matching
2018-01-05 11:37:09 +01:00
dbd9a2faaf
Replace matching with function chaining
2018-01-05 11:37:09 +01:00
c1ff2b14f0
Replace matching with function chaining
2018-01-05 11:37:09 +01:00
57cf5003bd
Move common functionality to utility module
2018-01-05 11:37:09 +01:00
0640bdeb73
Add second-support in libimagdiary
2018-01-04 19:39:07 +01:00
af819f0fca
Remove unneeded "mut"
2018-01-04 19:34:21 +01:00
198e304be9
Initial import of libimaglog implementation
2017-12-25 21:55:04 +01:00
92d4a0237e
Initial import: libimaglog
2017-12-25 21:46:04 +01:00
3c8dd19d11
Update version strings: 0.5.0 -> 0.6.0
2017-12-25 19:17:07 +01:00
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
840bc86c90
Merge pull request #1178 from matthiasbeyer/libimaghabit/fix-until
...
Fix: Until date is still optional
2017-12-22 14:39:41 +01:00
6246d25c9d
Fix: Until date is still optional
2017-12-22 13:20:11 +01:00
09c9eb6090
Merge pull request #1175 from matthiasbeyer/libimaghabit/remove-unused
...
libimaghabit: Remove unused things
2017-12-22 12:29:50 +01:00
9bf4b9604b
Remove unused variables
2017-12-22 11:03:42 +01:00
90ed0c0e10
Remove unused macro import
2017-12-22 11:02:55 +01:00
96b51280ab
Remove unused imports
2017-12-22 11:01:35 +01:00
cd8f0beae8
Add until-date support
2017-12-22 10:59:27 +01:00
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
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
13e9ee3ffa
Add Habit::next_instance_date()
2017-12-08 14:54:49 +01:00
f81faa3f6a
Make "util" pub
2017-12-08 14:54:49 +01:00
999bdf8d0d
Add HabitTemplate::linked_instances() function
2017-12-08 14:54:49 +01:00
3b319fd4f0
Add HabitInstanceStoreIdIterator::new
2017-12-08 14:54:49 +01:00
30e05d21f9
Add debugging output
2017-12-08 14:54:49 +01:00
90a4139ede
Make builder consuming
2017-12-08 14:54:49 +01:00
dc7a315176
Getter for all instances
2017-12-08 14:54:45 +01:00
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
9af2f34b58
Outsource instance id creation to helper fn
2017-12-08 14:54:45 +01:00
6a13567efc
dependency: kairos: beta-1 -> beta-2
2017-12-08 14:54:45 +01:00
0ffbb2ef1a
Add kairos error chain integration
2017-12-08 14:54:45 +01:00
2c655daa39
Add IsValidHabitObj helper trait
2017-12-08 14:54:45 +01:00
6b33fc9e6f
Update kairos: master -> 0.1.0-beta-1
2017-12-08 14:54:45 +01:00
a6a36455f5
Add recur spec with kairos support
2017-12-08 14:54:41 +01:00
42cabffa64
Implement HabitInstance for Entry
2017-12-08 14:54:41 +01:00
533d97532b
Move date-string conversion utils to util module
2017-12-08 14:54:40 +01:00
a71c9281ec
Initial import
2017-12-08 14:54:40 +01:00
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
04d5af8d50
Switch to upstream rust-vobject
2017-11-09 11:21:17 +01:00
dfbc69400a
Let ContactData be unpacked and derefd
2017-10-31 19:10:11 +01:00
4fa41faa59
Add iterator for contacts
2017-10-31 19:10:11 +01:00
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
f3d75e97b6
Rely on own clone of rust-vobject
2017-10-31 19:10:10 +01:00
12e8657eb9
Add Contact::is_contact()
2017-10-31 19:09:43 +01:00
f2bd241a59
Add error for header type error
2017-10-31 19:09:43 +01:00
aae19221b6
Impl Contact::get_contact_data()
2017-10-31 19:09:43 +01:00
ce5e7f5252
Impl Store::create_from_path()
2017-10-31 19:09:43 +01:00
c14c19483c
Add lib internal utilities
2017-10-31 19:09:43 +01:00
577f8d313a
Add more error links
2017-10-31 19:09:43 +01:00
04182f5cb6
Add initial layout of code
2017-10-31 19:09:43 +01:00
eaa9ad5993
Add basic documentation on how the lib works
2017-10-31 19:09:43 +01:00
434505f1f0
Initial import of libimagcontact
2017-10-31 19:09:41 +01:00
f82ad2b6d1
Replace uses of try!() macro with "?" operator
2017-10-31 15:04:50 +01:00
29c9ad71b5
Replace uses of try!() macro with "?" operator
2017-10-31 15:04:50 +01:00
a44d79093c
Replace uses of try!() macro with "?" operator
2017-10-31 15:04:50 +01:00
e758a28c9e
Replace uses of try!() macro with "?" operator
2017-10-31 15:04:50 +01:00
a20871eb5e
Add badges in Cargo.toml of all crates
2017-10-31 15:03:30 +01:00
ea618ee3c7
Remove unused variable
2017-10-31 15:03:30 +01:00
b237adfe19
Fix calls to Runtime::config() to use direct result
2017-10-31 09:25:14 +01:00
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
663242db7e
Update dependency: error-chain: 0.10 -> 0.11
2017-10-12 22:12:27 +02:00
013e82f04f
Update dependency: filters: 0.1 -> 0.2
2017-10-12 19:48:01 +02:00
67a127f700
Update dependency: itertools: 0.6 -> 0.7
2017-10-12 19:45:50 +02:00
643db0df3a
Remove libimagcounter / imag-counter
2017-09-28 22:41:23 +02:00
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
2ce75251d9
Adjust for new error linking setup in libimagentryref
2017-09-24 13:05:16 +02:00
73f6016221
Update version strings: 0.4.0 -> 0.5.0
2017-09-24 13:05:01 +02:00
da4d670cbc
Base IsInDiary::is_in_diary() on StoreId::is_in_collection(), which is tested
2017-09-20 18:48:55 +02:00
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
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
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
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
6d1dab3117
Merge pull request #1029 from matthiasbeyer/all-extensions-as-traits
...
All extensions as traits
2017-09-04 21:59:54 +02:00
39dd9e8d7c
Add Task trait for getting UUID from task
2017-09-04 09:20:14 +02:00
72ea21ee1f
Rename module task -> taskstore
2017-09-04 09:20:14 +02:00
18e806f588
Remove dedicated result modules, use error chain generated Result types
2017-09-04 09:19:29 +02:00
7ce44e8090
Remove "IntoError" trait, use error_chain functionality
2017-09-03 21:34:07 +02:00
936a314efa
libimagtodo: Rewrite error handling
2017-09-03 21:33:54 +02:00
a5bb7a9bec
libimagtimetrack: Rewrite error handling
2017-09-03 21:33:54 +02:00
22cff91653
libimagmail: Rewrite error handling
2017-09-03 21:33:54 +02:00
677a5e8886
libimagdiary: Rewrite error handling
2017-09-03 21:33:54 +02:00
31dc0eebc2
libimagcounter: Rewrite error handling
2017-09-03 21:33:54 +02:00
c9dbf76395
libimagbookmark: Rewrite error handling
2017-09-03 21:33:54 +02:00
0b068df84e
libimagnotes: Rewrite error handling
2017-09-03 21:33:54 +02:00
603808a9fa
Impl IntoError for error kinds
2017-09-03 15:42:06 +02:00
a309fdb280
Add recursion limits to crates
2017-09-03 15:42:06 +02:00
11d881d3a9
Add dependency to crates: error_chain = 0.10
2017-09-03 15:42:06 +02:00
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
048517a3c2
Fix readme links in cargo metadata
2017-09-01 18:48:02 +02:00
21c15ca207
Adapt imag-diary to compile with the new libimagdiary API
2017-09-01 11:04:07 +02:00
31fa07d43a
Add another small helper
2017-09-01 11:04:07 +02:00
95b7da1ed2
Impl Entry (now DiaryEntry) as trait
2017-09-01 11:04:06 +02:00
9c69645b69
Implement Diary as trait
2017-09-01 11:04:06 +02:00
7e4275c420
Remove unused crate import
2017-08-31 20:56:13 +02:00
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
991fd7c3d4
Remove unused variable
2017-08-31 10:57:19 +02:00
ac804bd839
Remove unused keyword "mut" where not needed
2017-08-31 10:57:11 +02:00
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
6d40797a07
Fix libimagmail to use new libimagentryref interface
2017-08-28 14:32:50 +02:00
c987130cc1
Merge pull request #1018 from matthiasbeyer/remove-toml-ext
...
Remove toml ext
2017-08-28 14:10:40 +02:00
c0c62bd1b5
Change crates to use toml-query crate
2017-08-28 12:22:37 +02:00
75e42d2f0b
Fix errors (former warnings) in several crates
...
This fixes errors (former warnings) in several locations.
2017-08-27 20:08:03 +02:00
286de656df
Handle UTF-8 Errors by returning
2017-08-27 20:08:03 +02:00
7a7ea5c211
Add debug messages
2017-08-27 20:08:03 +02:00