Matthias Beyer
87d6f1221f
Add testcase for reading multiple lines
2018-03-02 21:48:13 +01:00
Matthias Beyer
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
Matthias Beyer
78fe9b8cc5
Change "imag" impl to not instantiate Runtime object
...
Adapt libimagrt interface to export the functions we need to do this.
This is not that nice, but the best approach without rewriting large
parts of libimagrt.
2018-02-26 22:10:23 +01:00
Dylan DPC
e7a5e73d25
Update Cargo.toml
2018-02-26 17:04:53 +05:30
Matthias Beyer
6055520519
Provide unlink() to remove all links
2018-02-25 18:59:02 +01:00
Matthias Beyer
1521005e79
Merge pull request #1307 from matthiasbeyer/libimagstore/entry-parse-fix
...
Rewrite entry parsing algorithm
2018-02-20 22:03:00 +01:00
Matthias Beyer
9fb5f453fe
Rewrite entry parsing algorithm
...
Rewrite without regex crate.
The regex approach was broken. If the following _content_ was provided
in the entry:
foo
---
bar
The regex approach parsed the header until the "---" in the content.
This is, of course, not the way to do that.
Now, the parsing is implemented by hand. Should be faster as well,
though I don't care about this.
This fixes a severe bug.
2018-02-20 21:06:36 +01:00
Matthias Beyer
732fc32b75
Fix trace count space width
...
Was five here, but should be four.
2018-02-20 20:24:27 +01:00
Matthias Beyer
b2048b3dcf
Merge pull request #1306 from matthiasbeyer/minor
...
Minor patches
2018-02-20 20:23:41 +01:00
Matthias Beyer
00b86709b6
Use writeln!() instead of write!()
2018-02-20 19:24:34 +01:00
Matthias Beyer
461bebe60a
Merge pull request #1302 from matthiasbeyer/libimagdiary/fix-set-isflag
...
libimagdiary: Add "isflag" support
2018-02-20 18:37:48 +01:00
Matthias Beyer
404e9deed2
Add some debug output
2018-02-20 17:29:03 +01:00
Matthias Beyer
585261d468
Add "isflag" support
2018-02-20 17:18:46 +01:00
Matthias Beyer
5773e8a6c8
Remove libimagentrylist
2018-02-20 15:02:46 +01:00
Matthias Beyer
027c4b3287
Remove usage of libimagentrylist
2018-02-20 15:02:46 +01:00
Matthias Beyer
2c0c8347e9
Merge pull request #1285 from matthiasbeyer/libimagentryref/refactor
...
libimagentryref: Rewrite
2018-02-19 14:18:17 +01:00
Matthias Beyer
7653a040da
Merge pull request #1294 from matthiasbeyer/libimagstore/store-debug-fix
...
Simplify Store debug impl
2018-02-19 12:27:37 +01:00
Matthias Beyer
88ffe8084c
Merge branch 'libimagentrymarkdown/refactor-libimagref-api-usage' into libimagentryref/refactor
2018-02-19 12:17:53 +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
c36250e42f
Adapt to new libimagentryref API
2018-02-19 12:15:31 +01:00
Matthias Beyer
30ad7d89b1
Reimplement libimagmail for new libimagentryref interface
2018-02-19 12:15:22 +01:00
Matthias Beyer
1153fb180b
Add function to delete a reference header entry
2018-02-19 12:14:32 +01:00
Matthias Beyer
fd6a7f877a
Remove private macro
2018-02-19 12:14:32 +01:00
Matthias Beyer
a1a85f40d0
Add default generators
2018-02-19 12:14:32 +01:00
Matthias Beyer
2328c8b2b0
Take AsRef<str> rather than &String
2018-02-19 12:14:32 +01:00
Matthias Beyer
cbb47cffcb
Implement Ref functions
2018-02-19 12:14:32 +01:00
Matthias Beyer
ed69fd4b35
Enrich error types
2018-02-19 12:14:32 +01:00
Matthias Beyer
81a8826740
Add impl for RefStore::{get,create,retrieve}_ref()
2018-02-19 12:14:32 +01:00
Matthias Beyer
1014f58cfc
Rewrite interface
2018-02-19 12:14:32 +01:00
Matthias Beyer
73af121882
Remove old concepts
2018-02-19 12:14:32 +01:00
Matthias Beyer
5f99018807
Simplify store debug print
2018-02-19 11:51:21 +01:00
Matthias Beyer
c2dfb2ef52
Refactor timetrack subcommands output for broken pipe errors
2018-02-19 11:14:18 +01:00
Matthias Beyer
6a341d3723
Abstract exit code as a type
2018-02-19 11:14:18 +01:00
Matthias Beyer
256bc47222
Refactor into two independent extensions
2018-02-19 10:40:26 +01:00
Matthias Beyer
39107c5296
Add result extension for translating io errors to exit codes
2018-02-19 10:40:26 +01:00
Matthias Beyer
841d3ffb60
Remove OnErr extension which is not used
2018-02-18 20:04:22 +01:00
Matthias Beyer
2b26db70ed
Make HabitBuilder derive Debug
2018-02-18 20:03:50 +01:00
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