Matthias Beyer
3341e3640c
Merge pull request #1224 from matthiasbeyer/git-version-in-version
...
Git version in version
2018-02-18 20:03:09 +01:00
Matthias Beyer
3bd8822f4f
Use version string from git, if present
2018-02-13 11:53:51 +01:00
Matthias Beyer
f5f4fbc397
Add buildscript and infrastructure to include git information in version
2018-02-13 11:38:34 +01:00
Matthias Beyer
5b07baddf8
Add error convenience extension
2018-02-12 21:22:39 +01:00
Matthias Beyer
50b0ffa6ae
Remove calls to trace_error_exit()
2018-02-12 21:19:48 +01:00
Matthias Beyer
074f9826fd
Implement own displaying implementation for the chain
2018-02-12 21:19:48 +01:00
Matthias Beyer
503b042690
Adapt libimagrt to new error handling
2018-02-12 21:19:47 +01:00
Matthias Beyer
6dd24f3da3
Keep trace_error{,_dbg} for backwards compatibility
2018-02-12 21:19:47 +01:00
Matthias Beyer
e481dbfd12
Rewrite libimagerror to be thin layer over error-chain
2018-02-12 21:19:47 +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
9e3c966d84
Merge pull request #1273 from matthiasbeyer/update-version-numbers
...
Update version string: 0.6.0 -> 0.7.0
2018-02-11 17:50:52 +01:00
Matthias Beyer
2e4c29dd07
Merge pull request #1277 from matthiasbeyer/libimagstore/store-debug-output-prettify
...
Prettify Store debug output implementation
2018-02-11 15:19:13 +01:00
Matthias Beyer
30d2c28a22
Update version string: 0.6.0 -> 0.7.0
2018-02-11 14:22:24 +01:00
Matthias Beyer
8fcd2a6c8c
Prettify Store debug output implementation
2018-02-11 13:36:37 +01:00
Matthias Beyer
fa8af0c053
Merge pull request #1275 from matthiasbeyer/clap-features
...
Clap features
2018-02-11 13:29:17 +01:00
Matthias Beyer
863b52c2f0
Add TraceIterator::trace_unwrap_exit()
...
* Exits on the first Err(_)
* Introduces new Iterator type for iterating with unwrap and exit on
error
2018-02-10 16:41:06 +01:00
Matthias Beyer
8656a38c50
Update dependency: clap: 2.17 -> 2.29
2018-02-10 16:40:34 +01:00
Matthias Beyer
9d2900a7dc
Compile clap with suggestions and color support
2018-02-10 16:40:34 +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
de613c9ebd
Merge pull request #1227 from matthiasbeyer/libimagentryutil/filtered-iterators
...
libimagentryutil: filtered iterators
2018-02-01 20:22:12 +01:00
Matthias Beyer
3aa2e6edec
Add iterator helper for filtering
2018-02-01 16:46:57 +01:00
Matthias Beyer
06cb8d50fb
Make StoreId::is_in_collection() generic over AsRef<str>
2018-02-01 16:46:57 +01:00
Matthias Beyer
eb6ab8f029
Add IsInCollection helper type
2018-02-01 16:46:57 +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
3c1a0a51c9
Transform iterator to forget Store reference here
2018-02-01 16:46:38 +01:00
Matthias Beyer
b3f546129a
Add StoreIdIteratorWithStore::without_store()
2018-02-01 16:46:38 +01:00
Matthias Beyer
8e931cd79f
Change calls to into_get_iter() to not take argument
2018-02-01 16:46:38 +01:00
Matthias Beyer
3b01a9eb2f
Add API in StoreIdIteratorWithStore to get acting iterators
...
This patch adds API functions in the StoreIdIteratorWithStore iterator
type to transform it into a iterator which _does_ something (as in the
`libimagstore::iter` API).
It mimics the API which is offered by `libimagstore::iter`.
2018-02-01 15:47:39 +01:00
Matthias Beyer
030e32e44f
Provide StoreId Iterator which has a ref to the Store
...
This change is needed so we can refactor the "get" iterator to not take
an argument (the store) later, which improves the API.
2018-02-01 15:47:39 +01:00
Matthias Beyer
da4b823048
Merge pull request #1219 from matthiasbeyer/minor
...
Minor patches
2018-02-01 13:18:31 +01:00
Matthias Beyer
92c04c606c
Refactor to use AsRef<str>
2018-02-01 09:26:33 +01:00
Matthias Beyer
7e53ad9f78
Add datetime <-> string conversion utility
2018-02-01 09:26:33 +01:00
Matthias Beyer
4d94791b1f
Move date <-> string conversion utility to libimagutil
2018-02-01 09:26:33 +01:00
Matthias Beyer
7ecaad830c
Refactor to use Iterator::fold()
2018-01-29 09:38:32 +01:00
Matthias Beyer
164b6b7f10
Move documentation to appropriate place
2018-01-29 09:38:32 +01:00
Matthias Beyer
7731b88c97
Remove map_err_trace_exit() calls in favour of map_err_trace_exit_unwrap()
2018-01-29 09:38:32 +01:00
Matthias Beyer
4bd156fdb3
Remove unecessary String instantiation
2018-01-29 09:38:32 +01:00
Matthias Beyer
fcfc397fc8
env_logger: 0.5.0-rc.2 -> 0.5
2018-01-18 14:15:40 +01:00
Matthias Beyer
8d9c7dce4f
env_logger: 0.5.0-rc.1 -> 0.5.0-rc.2
2018-01-15 11:22:09 +01:00
Matthias Beyer
635d000344
log: 0.4.0-rc.1 -> 0.4.0
2018-01-15 11:21:52 +01:00
Matthias Beyer
c45130ddd0
env_logger: 0.4.* -> 0.5.0-rc.1
2018-01-15 11:20:27 +01:00
Matthias Beyer
0aba7d2939
Adapt libimagrt for new log setup
2018-01-15 11:20:07 +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
68fedfb13a
libimagentryutil: Replace read with typed read
2018-01-13 01:14:03 +01:00
Matthias Beyer
a34cae03e5
libimagentryref: Replace read with typed read
2018-01-13 01:14:03 +01:00
Matthias Beyer
e9ae81a2ce
libimagentrylink: Replace read with typed read
2018-01-13 01:14:03 +01:00
Matthias Beyer
18a6e9b64e
libimagentryfilter: Replace read with typed read
2018-01-13 01:14:03 +01:00
Matthias Beyer
6c36c97895
libimagentrydatetime: Replace read with typed read
2018-01-13 01:14:03 +01:00
Matthias Beyer
7176c130ff
libimagentrycategory: Replace read with typed read
2018-01-13 01:14:03 +01:00
Matthias Beyer
163bf249ff
libimagentryannotation: Replace read with typed read
2018-01-13 01:14:03 +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
3ef5fcfab6
libimagstore: Replace read with typed read
2018-01-13 01:14:03 +01:00
Matthias Beyer
febecd85e5
libimagrt: 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
bfc35e0517
Remove dependency "version"
...
Because the "version" crate is licensed as GPL, which would us require
to release imag as GPL, we remove the crate now.
2018-01-12 13:33:40 +01:00
Matthias Beyer
9a9701fce5
Add flag settings/Contact::is_contact in libimagcontact
2018-01-08 23:46:36 +01:00
Matthias Beyer
7fb13acf15
Add Ref::is_ref()
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
00d09e618e
Use libimagentryutil::isa::Is in libimagentryannotation
2018-01-08 23:31:10 +01:00
Matthias Beyer
a7c8fa1212
Add Is::set_isflag() helper function
2018-01-08 23:31:10 +01:00
Matthias Beyer
a246144c26
Add Is helper trait
2018-01-08 23:31:10 +01:00
Matthias Beyer
2d83796ef2
Initial import: libimagentryutil
2018-01-08 23:31:10 +01:00
Matthias Beyer
7cf60d5bec
Merge pull request #1208 from matthiasbeyer/libimagdiary-bookmarkcollection-nonwrapping
...
libimagdiary: Do not wrap store types
2018-01-08 23:11:54 +01:00
Matthias Beyer
689310edfe
Rename `Store::retrieve_copy` to `Store::get_copy`
...
The function was named falsely and nobody noticed. So nobody uses this
function yet - hopefully - as this change is a breaking API change.
2018-01-08 15:16:41 +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
824f88e4fd
Refactoring: Use function chaining rather than matching
2018-01-05 13:32:31 +01:00
Matthias Beyer
66b0611103
Refactoring: Use function chaining rather than matching
2018-01-05 11:37:09 +01:00
Matthias Beyer
dac817f318
Refactor: Use function chaining and new error type link
2018-01-05 11:37:09 +01:00
Matthias Beyer
1e2ac14d3b
Refactoring: Use function chaining rather than matching
2018-01-05 11:37:09 +01:00
Matthias Beyer
c92e459e3a
Refactoring: Use function chaining rather than matching
2018-01-05 11:37:09 +01:00
Matthias Beyer
5db3d0c278
Refactor: Use function chaining rather than matching
...
And use a helper function for common functionality
2018-01-05 11:37:09 +01:00
Matthias Beyer
feaa32196b
Refactoring: Use function chaining rather than matching
...
Also introduce error links for this.
2018-01-05 11:37:09 +01:00
Matthias Beyer
3294a77346
Refactoring: Use function chaining rather than matching
2018-01-05 11:37:09 +01:00
Matthias Beyer
40490c10d6
Refactoring: Use function chaining rather than matching
2018-01-05 11:37:09 +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
d5ce99b170
Refactor toml destructure matching.
...
Use accessor functionality and function chaining now.
2018-01-05 11:37:09 +01:00
Matthias Beyer
4184a1e5d0
Replace matching with function chaining
2018-01-05 11:37:09 +01:00
Matthias Beyer
fa8ac03701
Replace matching with function chaining
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
a9135a80fb
Replace matching with command chaining
2018-01-05 11:37:09 +01:00
Matthias Beyer
7d1d41884c
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
01bd020419
Remove unused imports
2018-01-04 19:35:35 +01:00
Matthias Beyer
02f38fb209
Fix comments: Use two instead of three slashes
2018-01-04 19:34:55 +01:00
Matthias Beyer
e518598351
Remove unneeded "mut"
2018-01-04 19:34:43 +01:00
Matthias Beyer
af819f0fca
Remove unneeded "mut"
2018-01-04 19:34:21 +01:00
Matthias Beyer
0c9c9e26c1
Merge pull request #1183 from matthiasbeyer/libimaglog/init
...
libimaglog: init
2018-01-01 21:18:22 +01:00
Matthias Beyer
529f3f83da
Merge pull request #1187 from matthiasbeyer/libimagerror/display-fix
...
Improve error output
2018-01-01 20:47:24 +01:00
Matthias Beyer
774933ae4a
Merge pull request #1163 from matthiasbeyer/libimagstore/mighty-iters
...
libimagstore: More powerful iterator extensions
2017-12-25 22:02:56 +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
9890371652
Merge pull request #1185 from matthiasbeyer/bump-version-strings
...
Update version strings: 0.5.0 -> 0.6.0
2017-12-25 21:06:14 +01:00
Matthias Beyer
0ae7b6b387
Do not call description() when displaying the error
2017-12-25 19:44:29 +01:00
Matthias Beyer
46a8d373b3
Allow dead code in whole module
2017-12-25 19:23:41 +01:00
Matthias Beyer
7d67b67440
Update version strings in tests
2017-12-25 19:17:07 +01:00
Matthias Beyer
3c8dd19d11
Update version strings: 0.5.0 -> 0.6.0
2017-12-25 19:17:07 +01:00
Matthias Beyer
9128d04866
Remove test
...
This test is not applicable anymore because it tests (and tested) the
wrong thing.
It was to check whether the function failed because the "imag" key
contained the wrong type, but this is not tested by that function. The
function only checks whether the "imag" key is present.
2017-12-25 17:59:50 +01:00
Matthias Beyer
35410aaa2e
Refactor: Remove unneccessary functions
2017-12-25 17:59:50 +01:00
Matthias Beyer
20a552f527
Refactor header checking to use toml-query
2017-12-25 17:59:50 +01:00
Matthias Beyer
2bf91fab09
Enhance error types
2017-12-25 17:59:50 +01:00
Matthias Beyer
986dbad2fd
Merge pull request #1176 from matthiasbeyer/libimagstore/remove-config
...
libimagstore: remove config
2017-12-25 17:58:16 +01:00
Matthias Beyer
0870665668
Add iterator extension for iterators over Result<T, E>
2017-12-24 13:52:50 +01:00
Matthias Beyer
67410b3ad2
Implement iter extension for all iterators over StoreId
2017-12-24 13:52:50 +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
174d8d76e9
Remove configuration member, reduce configuration
...
We only need the configuration to check whether creating the store
directory is actually allowed.
2017-12-24 13:52:13 +01:00
Matthias Beyer
38b56df406
Add new dependency: toml-query
2017-12-24 13:52:13 +01:00
Matthias Beyer
cf5b4239c4
Update version string
...
Holy crap this should really not happen. We accidentially released this
crate as 0.4.0 instead of 0.5.0.
2017-12-24 13:31:59 +01:00
Matthias Beyer
9ecd1849d7
Fix README path
2017-12-24 13:31:59 +01:00
Matthias Beyer
f0ae628687
Transform to use error-chain
2017-12-23 14:20:46 +01:00
Matthias Beyer
7bdaaf35fc
Initial import
2017-12-23 14:20:46 +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