Commit graph

307 commits

Author SHA1 Message Date
1d89844613 Run 'cargo fix' for rust-2018
With this patch we move the codebase to Rust-2018.

The diff was generated by executing

    cargo fix --all --all-features --edition

on the codebase.

Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-05-18 00:20:59 +02:00
3884d7319c Add duration listing in imag-timetrack
This patch adds the -d / --show-duration feature to the "list"
subcommand, which makes imag-timetrack list the duration of the
timetracking in the output.

Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-05-17 22:28:42 +02:00
fad684daf2 Merge branch 'imag-contact-edit-retry' into master-ff 2019-05-11 13:29:37 +02:00
aa23a51a2f Remove unused constant
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-05-11 12:26:50 +02:00
8b0f187f7d Add support for looping over edit
This patch adds a imag-contact feature where we loop as long as we
cannot parse the vcard. If the `--no-retry` flag is passed, we fail immediately.

Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-05-11 12:25:41 +02:00
989624cc5e Merge branch 'minor' into master 2019-04-27 02:00:49 +02:00
9c467d0462 Add debug output
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-04-27 01:33:04 +02:00
37d8ae7430 Add contact editing.
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-04-22 16:50:07 +02:00
9945cb38b7 Refactor: Move contact-by-hash finding to utils
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-04-22 16:50:07 +02:00
41e981fa48 Add force-override option to "imag-contact import"
This patch adds the option to force-override the ref data in the
imported entries. This is necessary when importing contact data which is
already in the store, but where the reference data has changed (for
example if the hash of the file has changed, this might come in handy at
some point).

Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-04-22 14:37:43 +02:00
9b7edfc6c1 Rewrite imag-contact to handle reference storing
This patch rewrites the imag-contact binary to be able to work with the
new libimagcontact interface, which now uses libimagentryref for storing
references to the actual vcard files.

Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-04-22 14:26:56 +02:00
dfc02a5679 Move helper function to libimagentref::util
This moves the helper function for getting the `Config` object from the
configuration file via the runtime.

Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-02-20 16:22:52 +01:00
a959167b15 Rewrite imag-mail
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-02-20 16:22:52 +01:00
198c59f717 Revert "Remove imag-mail"
This reverts commit f9a980c344.

Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-02-20 16:22:52 +01:00
f9a980c344 Remove imag-mail
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-02-17 11:09:49 +01:00
444ca2d424 Adapt to new all_contacts() return type
because we return `libimagstore::iter::Entries` here now, we do not have
to pass the store anymore.

Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-02-15 20:53:29 +01:00
2611583839 Fix: Also print if runtime ignores IDs
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-02-15 19:13:29 +01:00
86dca4887d Fix negation error
We Iterator::filter here, so we have to negate - because we list
everything where _no_ instance exists yet.

Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-02-11 03:52:04 +01:00
334e9e3954 Add debug output
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-02-11 03:52:04 +01:00
fe9409a5dc Do not print table if table is empty anyways
When listing timetrackings, we do not want to print an empty table if
there aren't any timetrackings.

Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-02-11 03:52:04 +01:00
81912ac5cd Add wrapping functionality for imag-log
This patch adds a wrapping functionality to imag-log.
The commandline parameter `-w` or `--wrap` can not be used to wrap the
output at N characters, defaulting to 80 characters.

Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-02-11 03:52:04 +01:00
0ba19daa57 Strip whitespace on the right when printing
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-02-11 03:52:04 +01:00
90eaeb642a Remove magic constants in trace_unwrap_exit/map_err_trace_exit_unwrap calls
This patch removes the magic constant we used when calling
`trace_unwrap_exit()` or `map_err_trace_exit_unwrap()`.
We used to call it with `1` as parameter, where the number was the exit
code to use. Now the implementation of the function does it
automatically (using 1 (one) as exit code).

All calls of these functions were fixed. Thanks to vim this was easy.

Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-02-11 03:52:04 +01:00
c8e74193b3 Optimize: Do not attempt to print if output is a pipe
This is a small optimization so that we do not print the information if
the output is a pipe anyways.

Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-02-11 03:22:56 +01:00
f1a639ea8c Change id reporting API to return ExitCode
Because this API only errors when write!() errors occur, we can return
the exit code as an error here.

This way the user of the API can immediately exit if there was an IO
error, but the API automatically takes care of the right return value,
returning (exiting) with zero (0) if there was an "Broken pipe" error
and with one (1) otherwise, which is the expected behaviour here.

All calls to that API were changed accordingly.

Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-02-11 03:22:56 +01:00
84aef82258 Fix: "status" subcommand might not be present
If we call 'imag-habit' without a subcommand, we assume "today". Thus it
might occur that the "status" subcommand match is not present, hence we
have to assume `false` here as default value.

Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-02-09 01:03:34 +01:00
e25cf17a8a Fix: We go to the next month, not to the current one
The filter filters from now to the first second of the next month, not
the first second of the current month. Hence we have to add one here.

Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-02-09 01:03:32 +01:00
340dab18f0 Fix: 'start-time' cannot be None
The UI is configured to require the 'start-time' parameter, so we do not
need to check for None here.

Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-02-09 01:03:32 +01:00
9185abcfa5 Update copyright years
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-01-03 18:41:36 +01:00
9fca66aa89 Forbid unsafe code in all crates 2018-11-11 13:05:55 +01:00
4e516ee19d Update version strings
...for the next release, which will be imag 0.10.0!

Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2018-11-10 11:56:37 +01:00
17d4123898 Update dependencies from git versions to proper versions.
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2018-11-09 22:14:11 +01:00
35291d68ad Make code more idomatic
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2018-11-09 21:48:26 +01:00
a2eae99a39 Rewrite debug calls with DebugOption extension 2018-11-09 21:48:26 +01:00
c767e6239e Remove unused parameter
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2018-11-09 21:48:26 +01:00
8d0ae1058e Make code more functional by more function chaining
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2018-11-07 13:51:42 +01:00
07cbecc1ba Make code more functional by more function chaining.
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2018-11-07 13:51:28 +01:00
d8a6e9ca9a Rewrite iteration without collecting inbetween
Because why not?

Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2018-11-07 12:48:35 +01:00
8e1768b424 Refactor code to be more idomatic
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2018-11-07 11:52:31 +01:00
f6483f54db Add ID reporting in imag-timetrack 2018-11-06 20:35:18 +01:00
be56f9fe75 Add ID reporting in imag-mail 2018-11-06 20:35:18 +01:00
502cdf5721 Add ID reporting in imag-habit 2018-11-06 20:35:18 +01:00
f3a03efd5d Add ID reporting in imag-wiki
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2018-11-06 20:35:18 +01:00
860c58cbdf Add ID reporting in imag-log 2018-11-06 20:35:18 +01:00
eceae358f8 Add ID reporting in imag-notes 2018-11-06 20:35:18 +01:00
2ca6be8322 Add id reporting in imag-diary 2018-11-06 20:35:18 +01:00
8523ae2120 Add id reporting in imag-contact 2018-11-06 20:34:46 +01:00
344aae5f92 Add ID reporting in imag-bookmark 2018-11-06 20:33:30 +01:00
17913ae3fd Optimize implementation: Less matches
This patch simplifies the code to be not three nested matches but rather
one match and then some function chaining.

Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2018-11-06 14:48:49 +01:00
1321f49428 Optimize implementation
Code-wise, the functionality was not changed. The changes only make the
code much more pretty.

Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2018-11-06 14:48:49 +01:00