Matthias Beyer
0b593d6635
Let the OutputProxy hold Stdout/Stderr objects, so we do not have to aquire them each write!()
2018-03-04 15:41:32 +01:00
Matthias Beyer
19e9dfe33c
Implement proxy object where runtime configures output
...
This is another approach for providing access to stdin/out/err via
libimagrt::runtime::Runtime.
The Runtime object does configure which output gets returned (stdout if
stdout is a tty, else stderr).
With this we can change libimagrt to read/write the store from/to
stdin/stdout without the user noticing that she does not write to stdout
but stderr.
Reading from stdin is not possible then, though.
2018-03-04 13:57:44 +01:00
Matthias Beyer
c18c0bbbe4
Provide stdin/out/err resources via Runtime object
...
This way we can control whether "out" output goes to stdout or stderr
without the user of the functionality knowing.
This is useful for later when we use libimagrt to automatically
read and write the store from and to stdout/in depending on whether we
are talking to a TTY or a pipe.
2018-03-04 13:57:02 +01:00
Matthias Beyer
c9af23f663
Merge pull request #1314 from matthiasbeyer/imag/do-not-instantiate-runtime
...
Change "imag" impl to not instantiate Runtime object
2018-03-02 23:28:10 +01:00
Matthias Beyer
ee5a17790f
Fix multi-line reading
...
Reading entries with multiple entries caused all lines to be read as one
line.
This bug is fixed with this patch.
2018-03-02 21:48:17 +01:00
Matthias Beyer
87d6f1221f
Add testcase for reading multiple lines
2018-03-02 21:48:13 +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
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
00b86709b6
Use writeln!() instead of write!()
2018-02-20 19:24:34 +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
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
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
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
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
d5a9e4930d
Update dates in license header
...
And add missing header in one file
2018-02-07 02:48:53 +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
06cb8d50fb
Make StoreId::is_in_collection() generic over AsRef<str>
2018-02-01 16:46:57 +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
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
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
3ef5fcfab6
libimagstore: Replace read with typed read
2018-01-13 01:14:03 +01:00