39107c5296
Add result extension for translating io errors to exit codes
2018-02-19 10:40:26 +01:00
841d3ffb60
Remove OnErr extension which is not used
2018-02-18 20:04:22 +01:00
2b26db70ed
Make HabitBuilder derive Debug
2018-02-18 20:03:50 +01:00
3341e3640c
Merge pull request #1224 from matthiasbeyer/git-version-in-version
...
Git version in version
2018-02-18 20:03:09 +01:00
3bd8822f4f
Use version string from git, if present
2018-02-13 11:53:51 +01:00
f5f4fbc397
Add buildscript and infrastructure to include git information in version
2018-02-13 11:38:34 +01:00
5b07baddf8
Add error convenience extension
2018-02-12 21:22:39 +01:00
50b0ffa6ae
Remove calls to trace_error_exit()
2018-02-12 21:19:48 +01:00
074f9826fd
Implement own displaying implementation for the chain
2018-02-12 21:19:48 +01:00
503b042690
Adapt libimagrt to new error handling
2018-02-12 21:19:47 +01:00
6dd24f3da3
Keep trace_error{,_dbg} for backwards compatibility
2018-02-12 21:19:47 +01:00
e481dbfd12
Rewrite libimagerror to be thin layer over error-chain
2018-02-12 21:19:47 +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
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
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
30d2c28a22
Update version string: 0.6.0 -> 0.7.0
2018-02-11 14:22:24 +01:00
8fcd2a6c8c
Prettify Store debug output implementation
2018-02-11 13:36:37 +01:00
fa8af0c053
Merge pull request #1275 from matthiasbeyer/clap-features
...
Clap features
2018-02-11 13:29:17 +01:00
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
8656a38c50
Update dependency: clap: 2.17 -> 2.29
2018-02-10 16:40:34 +01:00
9d2900a7dc
Compile clap with suggestions and color support
2018-02-10 16:40:34 +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
de613c9ebd
Merge pull request #1227 from matthiasbeyer/libimagentryutil/filtered-iterators
...
libimagentryutil: filtered iterators
2018-02-01 20:22:12 +01:00
3aa2e6edec
Add iterator helper for filtering
2018-02-01 16:46:57 +01:00
06cb8d50fb
Make StoreId::is_in_collection() generic over AsRef<str>
2018-02-01 16:46:57 +01:00
eb6ab8f029
Add IsInCollection helper type
2018-02-01 16:46:57 +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
3c1a0a51c9
Transform iterator to forget Store reference here
2018-02-01 16:46:38 +01:00
b3f546129a
Add StoreIdIteratorWithStore::without_store()
2018-02-01 16:46:38 +01:00
8e931cd79f
Change calls to into_get_iter() to not take argument
2018-02-01 16:46:38 +01:00
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
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
da4b823048
Merge pull request #1219 from matthiasbeyer/minor
...
Minor patches
2018-02-01 13:18:31 +01:00
92c04c606c
Refactor to use AsRef<str>
2018-02-01 09:26:33 +01:00
7e53ad9f78
Add datetime <-> string conversion utility
2018-02-01 09:26:33 +01:00
4d94791b1f
Move date <-> string conversion utility to libimagutil
2018-02-01 09:26:33 +01:00
7ecaad830c
Refactor to use Iterator::fold()
2018-01-29 09:38:32 +01:00
164b6b7f10
Move documentation to appropriate place
2018-01-29 09:38:32 +01:00
7731b88c97
Remove map_err_trace_exit() calls in favour of map_err_trace_exit_unwrap()
2018-01-29 09:38:32 +01:00
4bd156fdb3
Remove unecessary String instantiation
2018-01-29 09:38:32 +01:00
fcfc397fc8
env_logger: 0.5.0-rc.2 -> 0.5
2018-01-18 14:15:40 +01:00
8d9c7dce4f
env_logger: 0.5.0-rc.1 -> 0.5.0-rc.2
2018-01-15 11:22:09 +01:00
635d000344
log: 0.4.0-rc.1 -> 0.4.0
2018-01-15 11:21:52 +01:00
c45130ddd0
env_logger: 0.4.* -> 0.5.0-rc.1
2018-01-15 11:20:27 +01:00
0aba7d2939
Adapt libimagrt for new log setup
2018-01-15 11:20:07 +01:00
f209e12410
Update dependency: log: 0.3.* -> 0.4.0-rc.1
2018-01-15 11:20:07 +01:00
68fedfb13a
libimagentryutil: Replace read with typed read
2018-01-13 01:14:03 +01:00
a34cae03e5
libimagentryref: Replace read with typed read
2018-01-13 01:14:03 +01:00
e9ae81a2ce
libimagentrylink: Replace read with typed read
2018-01-13 01:14:03 +01:00
18a6e9b64e
libimagentryfilter: Replace read with typed read
2018-01-13 01:14:03 +01:00
6c36c97895
libimagentrydatetime: Replace read with typed read
2018-01-13 01:14:03 +01:00
7176c130ff
libimagentrycategory: Replace read with typed read
2018-01-13 01:14:03 +01:00
163bf249ff
libimagentryannotation: Replace read with typed read
2018-01-13 01:14:03 +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
3ef5fcfab6
libimagstore: Replace read with typed read
2018-01-13 01:14:03 +01:00
febecd85e5
libimagrt: 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
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
9a9701fce5
Add flag settings/Contact::is_contact in libimagcontact
2018-01-08 23:46:36 +01:00
7fb13acf15
Add Ref::is_ref()
2018-01-08 23:46:36 +01:00
1f133eac3b
Use libimagentryutil::isa::Is in libimaghabit
2018-01-08 23:31:10 +01:00
00d09e618e
Use libimagentryutil::isa::Is in libimagentryannotation
2018-01-08 23:31:10 +01:00
a7c8fa1212
Add Is::set_isflag() helper function
2018-01-08 23:31:10 +01:00
a246144c26
Add Is helper trait
2018-01-08 23:31:10 +01:00
2d83796ef2
Initial import: libimagentryutil
2018-01-08 23:31:10 +01:00
7cf60d5bec
Merge pull request #1208 from matthiasbeyer/libimagdiary-bookmarkcollection-nonwrapping
...
libimagdiary: Do not wrap store types
2018-01-08 23:11:54 +01:00
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
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
824f88e4fd
Refactoring: Use function chaining rather than matching
2018-01-05 13:32:31 +01:00
66b0611103
Refactoring: Use function chaining rather than matching
2018-01-05 11:37:09 +01:00
dac817f318
Refactor: Use function chaining and new error type link
2018-01-05 11:37:09 +01:00
1e2ac14d3b
Refactoring: Use function chaining rather than matching
2018-01-05 11:37:09 +01:00
c92e459e3a
Refactoring: Use function chaining rather than matching
2018-01-05 11:37:09 +01:00
5db3d0c278
Refactor: Use function chaining rather than matching
...
And use a helper function for common functionality
2018-01-05 11:37:09 +01:00
feaa32196b
Refactoring: Use function chaining rather than matching
...
Also introduce error links for this.
2018-01-05 11:37:09 +01:00
3294a77346
Refactoring: Use function chaining rather than matching
2018-01-05 11:37:09 +01:00
40490c10d6
Refactoring: Use function chaining rather than matching
2018-01-05 11:37:09 +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
d5ce99b170
Refactor toml destructure matching.
...
Use accessor functionality and function chaining now.
2018-01-05 11:37:09 +01:00
4184a1e5d0
Replace matching with function chaining
2018-01-05 11:37:09 +01:00
fa8ac03701
Replace matching with function chaining
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
a9135a80fb
Replace matching with command chaining
2018-01-05 11:37:09 +01:00
7d1d41884c
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
01bd020419
Remove unused imports
2018-01-04 19:35:35 +01:00
02f38fb209
Fix comments: Use two instead of three slashes
2018-01-04 19:34:55 +01:00
e518598351
Remove unneeded "mut"
2018-01-04 19:34:43 +01:00
af819f0fca
Remove unneeded "mut"
2018-01-04 19:34:21 +01:00
0c9c9e26c1
Merge pull request #1183 from matthiasbeyer/libimaglog/init
...
libimaglog: init
2018-01-01 21:18:22 +01:00
529f3f83da
Merge pull request #1187 from matthiasbeyer/libimagerror/display-fix
...
Improve error output
2018-01-01 20:47:24 +01:00
774933ae4a
Merge pull request #1163 from matthiasbeyer/libimagstore/mighty-iters
...
libimagstore: More powerful iterator extensions
2017-12-25 22:02:56 +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
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
0ae7b6b387
Do not call description() when displaying the error
2017-12-25 19:44:29 +01:00
46a8d373b3
Allow dead code in whole module
2017-12-25 19:23:41 +01:00
7d67b67440
Update version strings in tests
2017-12-25 19:17:07 +01:00
3c8dd19d11
Update version strings: 0.5.0 -> 0.6.0
2017-12-25 19:17:07 +01:00
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
35410aaa2e
Refactor: Remove unneccessary functions
2017-12-25 17:59:50 +01:00
20a552f527
Refactor header checking to use toml-query
2017-12-25 17:59:50 +01:00
2bf91fab09
Enhance error types
2017-12-25 17:59:50 +01:00
986dbad2fd
Merge pull request #1176 from matthiasbeyer/libimagstore/remove-config
...
libimagstore: remove config
2017-12-25 17:58:16 +01:00
0870665668
Add iterator extension for iterators over Result<T, E>
2017-12-24 13:52:50 +01:00
67410b3ad2
Implement iter extension for all iterators over StoreId
2017-12-24 13:52:50 +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
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
38b56df406
Add new dependency: toml-query
2017-12-24 13:52:13 +01:00
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
9ecd1849d7
Fix README path
2017-12-24 13:31:59 +01:00
f0ae628687
Transform to use error-chain
2017-12-23 14:20:46 +01:00
7bdaaf35fc
Initial import
2017-12-23 14:20:46 +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
3fa2995c5f
Merge pull request #1168 from matthiasbeyer/libimagentrylist/print-empty-list
...
Add flag and check whether to print empty table
2017-12-07 22:08:47 +01:00
13768322d2
Add flag and check whether to print empty table
2017-12-06 20:31:18 +01:00
af67ff51c8
Remove accidentially slipped-in println!()
2017-12-06 19:51:02 +01:00
b17772041f
TableLister: If configured with index, also print index row
2017-12-03 21:20:23 +01:00
77f93e77f0
Fix syntax
2017-11-18 12:28:20 +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
23820e322e
Merge pull request #1157 from matthiasbeyer/imag-location-from-env
...
Try to get RTP from IMAG_RTP
2017-10-31 16:24:51 +01:00
dc26f8c20c
Merge pull request #1156 from matthiasbeyer/store-verify-from-cli-app
...
Move verify implementation from Store to CLI interface
2017-10-31 15:47:57 +01:00
4250241f18
Try to get RTP from IMAG_RTP
2017-10-31 15:30:29 +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
d5f537dc4d
Replace uses of try!() macro with "?" operator
2017-10-31 15:04:50 +01:00
078936191b
Replace uses of try!() macro with "?" operator
2017-10-31 15:04:50 +01:00
81ceb50f4a
Replace uses of try!() macro with "?" operator
2017-10-31 15:04:50 +01:00
d60f7d72e6
Replace uses of try!() macro with "?" operator
2017-10-31 15:04:50 +01:00
da391954cc
Replace uses of try!() macro with "?" operator
2017-10-31 15:04:50 +01:00
ec3daa1f41
Replace uses of try!() macro with "?" operator
2017-10-31 15:04:50 +01:00
14bacaf01f
Replace uses of try!() macro with "?" operator
2017-10-31 15:04:50 +01:00
51a7429283
Replace uses of try!() macro with "?" operator
2017-10-31 15:04:50 +01:00
85ccc482d2
Replace uses of try!() macro with "?" operator
2017-10-31 15:04:50 +01:00
d4031758d6
Use ? operator instead of try!() macro
2017-10-31 15:04:50 +01:00
26d7fd4eb7
Use ? operator instead of try!() macro
2017-10-31 15:04:07 +01:00
82c30edcee
Simplify matching
2017-10-31 15:04:07 +01:00
131881cd01
Use ? operator instead of try!() macro
2017-10-31 15:04:07 +01:00
a20871eb5e
Add badges in Cargo.toml of all crates
2017-10-31 15:03:30 +01:00
5d76e7bafa
Use ? operator instead of try!() macro
2017-10-31 15:03:30 +01:00
ea618ee3c7
Remove unused variable
2017-10-31 15:03:30 +01:00
2855a89e24
Move verify implementation from Store to CLI interface
2017-10-31 13:11:34 +01:00
b237adfe19
Fix calls to Runtime::config() to use direct result
2017-10-31 09:25:14 +01:00
eca7219039
Rewrite configuration providing in runtime
...
Before the configuration object (the raw TOML object) was provided via a
wrapper object `Configuration`. This was ugly and not very nice to use.
Now, we only have the `toml::Value` object we lend out from
`Runtime::config()`.
The changes included libimagrt internal rewrites, which are not visible
to the user. Anyways, this change changes the API for config-fetching
from the runtime, so fixes for all other crates may follow.
The changes also removed the support for reading the "editor" setting
from the configuration file, which was not used anyways (in the example
imagrc.toml file).
The CLI-reading and ENV-reading are still supported, though.
2017-10-31 09:25:14 +01:00
e7aa5af9be
Merge pull request #1149 from matthiasbeyer/libimagrt/remove-logging-format-overrides
...
Remove override functionality for logging formats
2017-10-16 10:11:28 +02:00
e5d93f5ff3
Remove override functionality for logging formats
2017-10-16 00:47:42 +02:00
e43b524420
Merge pull request #1150 from matthiasbeyer/libimagrt/override-logging-with-debug-flag
...
Fix: Overide logging with --debug
2017-10-15 23:28:10 +02:00
32de2821d2
Merge pull request #1151 from matthiasbeyer/libimagstore/remove-accidental-println
...
Remove accidentially slipped-in println
2017-10-15 23:28:00 +02:00
16b5652fdd
Remove accidentially slipped-in println
2017-10-15 19:49:06 +02:00
817933c99f
Fix: Overide logging with --debug
...
Formerly, the --debug flag was ignores. This change overrides the
logging with the CLI specified logging if it was provided.
If --debug was provided, the logging is set to debugging, if --verbose
was provided info logging is used.
2017-10-15 19:48:06 +02:00
d37de44c94
Add RefStore::find_storeid_by_partial_hash() helper
2017-10-14 14:05:56 +02:00
6c387e893c
Add RefStore::get_by_partial_hash()
2017-10-14 13:36:04 +02:00
e74745c9fc
Remove RefStore::get() which was simply a wrapper to Store::get()
2017-10-14 13:08:37 +02:00
41374fb620
Add more helpers for handlebars
2017-10-14 11:02:30 +02:00
704c01b2c9
Merge pull request #1130 from matthiasbeyer/imag-annotate/init
...
Imag annotate/init
2017-10-13 16:20:57 +02:00
797b764027
Fix: Return annotation object when found
...
Before we did not return the annotation object after unlinking it. This
patch fixes this.
2017-10-13 14:53:57 +02:00
23f4d7948f
Fix Store::entries() to not yield directories
...
Before the iterator did also yield storeids for directories, which was a
bug.
This change introduces a new if_file() function in the store-internal
backend, which is needed to check whether a path actually points to a
File, be it inmemory or on the real filesystem.
That's because tests might fail if they check via PathBuf::is_file() as
in tests, the entries only exist inmemory.
2017-10-13 14:26:06 +02:00
a24baca779
Merge pull request #1129 from matthiasbeyer/libimagentryannotation/not-based-on-libimagnotes
...
Libimagentryannotation/not based on libimagnotes
2017-10-12 23:47:15 +02:00
7978e71bde
Rewrite API
2017-10-12 22:15:13 +02:00
ec855fefc7
Remove dependency on libimagnotes
2017-10-12 22:15:13 +02: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
3ed9c1fcc8
Merge pull request #1131 from matthiasbeyer/libimagerror/trace-and-unwrap-helper
...
Add helper for tracing error and exit or unwrap the value
2017-10-12 22:08:48 +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
bb26d1c895
Update dependency: ansi_term: 0.9 -> 0.10
2017-10-12 19:44:33 +02:00
eb4681bf65
Add helper for tracing error and exit or unwrap the value
2017-10-12 19:02:37 +02:00
d044e7a928
Add helper functions to register all helpers
2017-10-12 18:46:58 +02:00
eb07bce1d0
Move handlebars custom helpers to libimaginteraction
2017-10-12 18:46:58 +02:00
f266791142
Add multi-destination logging to logger
...
The logger was not able to handle multiple destinations before. Now it
is possible for the logger.
The file must be held behind an Arc<Mutex<_>> so we can use the logging
from multiple threads but also because we need to borrow mutably, so
that bit changes whith this commit.
2017-10-08 18:08:51 +02:00
b587bbbdc1
Fix: Create directory before renaming file
2017-10-01 01:59:41 +02:00
24210c0068
Add some debug output
2017-10-01 01:59:13 +02:00
169107d569
Remove FoldResult
2017-09-30 10:45:10 +02:00
643db0df3a
Remove libimagcounter / imag-counter
2017-09-28 22:41:23 +02:00
db64c06409
Add RefStore::all_references()
2017-09-28 17:52:27 +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
cac7697054
Refactor errors to use error-chain linking functionality
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
e9bf46c247
Fix README location
2017-09-24 11:36:38 +02:00
1f28328476
Merge pull request #1107 from matthiasbeyer/libimagentrylink/error-refactoring
...
Use error chain link functionality to remove link-conversion boilerplate
2017-09-23 19:50:16 +02:00
5894c27e44
Use error chain link functionality to remove link-conversion boilerplate
2017-09-23 18:32:23 +02:00
aa1f58cfff
Add test for testing annotation
2017-09-23 14:13:16 +02:00
441e59753a
Merge pull request #1105 from matthiasbeyer/minor
...
Minor
2017-09-22 16:06:23 +02:00
f8d6789dd9
Merge pull request #1104 from matthiasbeyer/imag-gps/init
...
imag-gps: init
2017-09-22 15:20:29 +02:00
0c461e126b
Fix impl of GPSEntry::remove_coordinates()
2017-09-22 14:37:03 +02:00
dfd1d7b96e
Remove unused imports
2017-09-22 14:25:44 +02:00
42599d4132
Merge pull request #1102 from matthiasbeyer/libimagentrylink/consistency-check-fix
...
libimagentrylink: consistency check fix
2017-09-21 19:30:25 +02:00
3884e4232c
Merge pull request #1103 from matthiasbeyer/libimagentrygps/more-functionality
...
libimagentrygps: More functionality
2017-09-21 19:01:12 +02:00
eb118c2b17
Reimplement aggregating functionality
...
Which fixes the bug that a dead link was not found.
2017-09-21 17:30:20 +02:00
e18c68d5cb
Add output of aggregated linking-network
2017-09-21 17:30:20 +02:00
7ece32f7c3
Merge pull request #1101 from matthiasbeyer/libimagstore/fs-backend/fix-walkdir-depth
...
Libimagstore: fs backend: Fix walkdir depth
2017-09-21 17:29:47 +02:00
f5d5e3c9c3
Add getters
2017-09-21 17:28:13 +02:00
0efffdbea3
Impl Display for {GPSValue, Coordinates}
2017-09-21 17:26:46 +02:00
a34a9239a7
Add GPSEntry::remove_coordinates()
2017-09-21 17:26:41 +02:00
555c0bb1df
Fix Walkdir depth
...
From the documentation of Walkdir::min_depth():
Set the minimum depth of entries yielded by the iterator.
The smallest depth is 0 and always corresponds to the path given to
the new function on this type. Its direct descendents have depth 1,
and their descendents have depth 2, and so on.
This means that when we started with "/tmp/store", we end up yielding
that exact path in the first iteration. This is exactly what we do _not_
want.
Setting the minimal depth to 1 fixes this bug.
2017-09-21 16:31:25 +02:00
74a7208757
Fix: critical typo
2017-09-21 12:23:32 +02:00
5a868015e6
Merge pull request #1098 from matthiasbeyer/libimagstore/glob-iter-early-error
...
Return glob errors instead of tracing internally
2017-09-21 09:29:34 +02:00
c6e94dfd3c
Return glob errors instead of tracing internally
...
This changes the internal GlobStoreIdIterator to return Result<StoreId>,
which gives us the possibility to aggregate errors in the
Store::retrieve_for_module() function and return them instead of tracing
them from the store.
The changes the internals to actually fetch the whole list of storeids,
which is unfortunate of course, but changing the interface is not an
option here, in my opinion.
At least we're only aggregating pathes, so the memory usage is pretty
low here.
2017-09-20 22:42:11 +02:00
8bbaeeef45
Fix: Store::delete() should check FS as well
...
This patch fixes a problem where the Store::delete() function only
checked the store-internal cache whether an entry exists, but not the
Filesystem. After this patch is applied, the Store::delete() function
also checks the filesystem whether the entry exists.
2017-09-20 22:24:59 +02:00
e2bf6c48ef
Merge pull request #1096 from matthiasbeyer/fix-log-output
...
Register the no-escape escape functionality in handlebars
2017-09-20 22:00:53 +02:00
87ad85ab3d
Merge pull request #1094 from matthiasbeyer/libimagdiary/is_in_diary
...
Base IsInDiary::is_in_diary() on StoreId::is_in_collection()
2017-09-20 22:00:41 +02:00
9b2ceb31cc
Merge pull request #1093 from matthiasbeyer/libimagentrylist/rip-out-cli-mod
...
libimagentrylist: Remove unused module
2017-09-20 22:00:34 +02:00
a73111458e
Merge pull request #1091 from matthiasbeyer/libimagstore/toml-pretty
...
Serialize TOML pretty
2017-09-20 22:00:27 +02:00
b431d0ee49
Merge pull request #1092 from matthiasbeyer/minor
...
Minor things
2017-09-20 19:24:44 +02:00
de69d31a58
Register the no-escape escape functionality in handlebars
...
Before, handlebars automatically applied html escaping, which resulted
in <>'& beeing escaped. But we don't need to escape for terminal output.
2017-09-20 19:12:08 +02:00
da4d670cbc
Base IsInDiary::is_in_diary() on StoreId::is_in_collection(), which is tested
2017-09-20 18:48:55 +02:00
19c3bc829a
Remove unused module
2017-09-20 18:41:54 +02:00
79b6c26502
Serialize TOML pretty
2017-09-20 18:38:31 +02:00
c558addbd6
Add debug/trace output in Store
2017-09-20 12:05:44 +02:00
5ce6cb2aa5
Switch from .set() to .insert()
2017-09-20 12:05:44 +02:00
8ddb0f6c24
Do not use "imag" namespace in header
...
This change switches the header location for the tagging information
from "imag.tags" to "tag.values". "tags" is not used because non-tables
are not allowed at the top level of the header.
Tests are adapted.
2017-09-20 09:24:46 +02:00
8904694b2a
Remove plain-text default entry
2017-09-19 22:31:23 +02:00
75bc1b0511
Fix README symlink
2017-09-19 18:34:56 +02:00
ec0c58d360
Fix README symlink
2017-09-19 18:32:34 +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
a01a2c18f8
Check in Store::move_by_id() whether target exists, not only in cache but also on FS
2017-09-17 15:44:19 +02:00
29e1107d3e
Add file abstraction function to check whether path exists
2017-09-17 15:43:57 +02:00
22b9f8ecdd
Do not insert the links array in the core header
2017-09-16 19:44:09 +02:00
6228de1066
Query-path fixed
2017-09-15 23:01:45 +02:00
324110cb76
Add more debugging/tracing output
2017-09-15 23:01:26 +02:00
2c1d322a1c
Add test to test external linking
2017-09-15 22:49:40 +02:00
29e9fffd03
Move env_logger dep to dev-dependencies
2017-09-15 22:49:24 +02:00
be8a3d1242
Merge pull request #1065 from matthiasbeyer/libimagnotes/do-not-wrap
...
libimagnotes: Do not wrap store types.
2017-09-15 21:00:24 +02:00
5271255ae3
Fix libimagentryannotation for changes in libimagnotes
2017-09-15 13:53:30 +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
8b8e4e9c6e
Minify iterator helper implementation
2017-09-15 13:17:12 +02:00
fce5df48c8
Add simple iterator helpers for StoreIdIterator -> CRUD Iterator
2017-09-15 13:07:49 +02:00
53c7d602eb
Merge pull request #1062 from matthiasbeyer/libimagstore/error-opt
...
libimagstore: Optimize errors
2017-09-10 11:45:59 +02:00
785e17a4a3
Add param to StoreIdHasNoBaseError
2017-09-10 10:48:51 +02:00
a670172880
Add param to StoreIdLocalPartAbsoluteError
2017-09-10 10:48:50 +02:00
b772908697
Add params to EntryRenameError
2017-09-10 10:48:50 +02:00
2ce2ba54da
Replace GlobError with link to ::glob::PatternError
2017-09-10 10:48:50 +02:00
6aa695974c
Add param to EntryAlreadyExists error
2017-09-10 10:48:50 +02:00
126aa75a2c
Add param to ConfigTypeError
2017-09-09 22:24:58 +02:00
307165d1b2
Remove ConfigReadError because ::toml_query::error::Error is now linked in
2017-09-09 22:15:18 +02:00
a015b07f6a
Remove TomlReadError by linking in ::toml_query::error::Error
2017-09-09 22:09:36 +02:00
4849cc4822
Remove TemplateStringRegistrationError by linking in handlebars error type
2017-09-09 22:04:32 +02:00
83f9350d98
Add param to EntryAlreadyBorrowed error
2017-09-09 21:59:36 +02:00
a28613b889
Add param to StorePathCreate
2017-09-09 21:59:36 +02:00
ff8569809b
Add parameter to StorePathExists error
2017-09-09 21:59:36 +02:00
78db822917
Remove unused error type
2017-09-09 21:59:36 +02:00
ca9123c740
Add parameter to IdNotFound error
2017-09-09 21:27:10 +02:00
b682e7f8db
Remove warning which is printed by the store
2017-09-09 21:14:08 +02:00
21440d58aa
Remove outdated comment
2017-09-09 21:13:38 +02:00
3d8f75300d
Remove unecessary error chaining
2017-09-09 21:13:21 +02:00
8aa5c2d82d
Fix header locations
...
Also change that the implementation uses toml_query::set instead of
toml_query::insert.
Inserting values creates intermediate tables, set doesn't. And we really
want that convenience here, as the code is complex enough on its own.
2017-09-09 16:36:21 +02:00
250bc3d8a7
Add tests for processing with appropriate setting switched off
2017-09-07 20:57:22 +02:00
18ebd568dc
Add test for processing two refs
2017-09-07 20:57:22 +02:00
98aa7bf716
Add test to test ref creation
2017-09-07 20:57:22 +02:00
24985a2384
Add test for processing external link
2017-09-07 20:57:22 +02:00
3cb2393c08
Add test for automatically creating linked entries
2017-09-07 20:57:22 +02:00
0aea9151dd
Add test for faulty link
2017-09-07 20:57:22 +02:00
0b640e18be
Add test to check whether internal links are parsed and set correctly
2017-09-07 20:57:22 +02:00
0a60f5ca55
Add test for processing entry without links
2017-09-07 20:57:22 +02:00
9c68514dfb
Add processor for collecting links from content
...
and putting them into the header via the functionality offered by
`libimagentrylink`.
2017-09-07 20:57:22 +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
86fae34d0d
Merge pull request #1056 from matthiasbeyer/libimagstore/rewrite-store-entries-fn
...
Rewrite Store::entries() implementation
2017-09-06 17:39:44 +02:00
b10d63c134
Rewrite Store::entries() implementation
...
As we rely on the filesystem in Store::entries(), which is a bug and
shouldn't be done, we rewrite this function and use the file_abstraction
framework.
2017-09-06 16:11:19 +02:00
9d8a8f0bf4
Fix Store loading in tests: Use in-memory store backend
2017-09-05 22:00:58 +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
eefcfd02dc
Allow generated fns from macros to be unused
2017-09-03 22:01:40 +02:00
7ce44e8090
Remove "IntoError" trait, use error_chain functionality
2017-09-03 21:34:07 +02:00
28d7085b2d
Remove error_chain dependency, not needed
2017-09-03 21:33:55 +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
5b781702cc
libimagentryview: Rewrite error handling
2017-09-03 21:33:54 +02:00
0ede39a991
libimagentrytag: Rewrite error handling
2017-09-03 21:33:54 +02:00
8d8a91e7c5
libimagentrycategory: Rewrite error handling
2017-09-03 21:33:54 +02:00
262aae39f4
libimagentryannotation: Rewrite error handling
2017-09-03 21:33:54 +02:00
d443b83b52
libimagentrydatetime: Rewrite error handling
2017-09-03 21:33:54 +02:00
0b068df84e
libimagnotes: Rewrite error handling
2017-09-03 21:33:54 +02:00
22be1627b7
libimagentryref: Rewrite error handling
2017-09-03 21:33:54 +02:00
bb6956740d
libimagentrymarkdown: Rewrite error handling
2017-09-03 21:33:54 +02:00
9aa5d7439d
libimagentrylist: Rewrite error handling
2017-09-03 21:33:54 +02:00
4b4b0b0804
libimagentryedit: Rewrite error handling
2017-09-03 21:33:54 +02:00
ca0dd5906d
libimagentrylink: Rewrite error handling
2017-09-03 21:33:54 +02:00
ac34b4ee66
libimaginteraction: Rewrite error handling
2017-09-03 21:33:54 +02:00
b6909a2c86
libimagrt: Rewrite error handling
2017-09-03 21:33:54 +02:00
2df99524e7
libimagstore: rewrite error handling code
2017-09-03 21:33:54 +02:00
603808a9fa
Impl IntoError for error kinds
2017-09-03 15:42:06 +02:00
9713a4632c
Remove error_gen module entirely
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