Commit Graph

380 Commits

Author SHA1 Message Date
Matthias Beyer 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
Matthias Beyer 9185abcfa5 Update copyright years
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-01-03 18:41:36 +01:00
Matthias Beyer 9fca66aa89 Forbid unsafe code in all crates 2018-11-11 13:05:55 +01:00
Matthias Beyer 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
Matthias Beyer 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
Matthias Beyer 35291d68ad Make code more idomatic
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2018-11-09 21:48:26 +01:00
Matthias Beyer a2eae99a39 Rewrite debug calls with DebugOption extension 2018-11-09 21:48:26 +01:00
Matthias Beyer c767e6239e Remove unused parameter
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2018-11-09 21:48:26 +01:00
Matthias Beyer 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
Matthias Beyer 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
Matthias Beyer 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
Matthias Beyer 8e1768b424 Refactor code to be more idomatic
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2018-11-07 11:52:31 +01:00
Matthias Beyer f6483f54db Add ID reporting in imag-timetrack 2018-11-06 20:35:18 +01:00
Matthias Beyer be56f9fe75 Add ID reporting in imag-mail 2018-11-06 20:35:18 +01:00
Matthias Beyer 502cdf5721 Add ID reporting in imag-habit 2018-11-06 20:35:18 +01:00
Matthias Beyer f3a03efd5d Add ID reporting in imag-wiki
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2018-11-06 20:35:18 +01:00
Matthias Beyer 860c58cbdf Add ID reporting in imag-log 2018-11-06 20:35:18 +01:00
Matthias Beyer eceae358f8 Add ID reporting in imag-notes 2018-11-06 20:35:18 +01:00
Matthias Beyer 2ca6be8322 Add id reporting in imag-diary 2018-11-06 20:35:18 +01:00
Matthias Beyer 8523ae2120 Add id reporting in imag-contact 2018-11-06 20:34:46 +01:00
Matthias Beyer 344aae5f92 Add ID reporting in imag-bookmark 2018-11-06 20:33:30 +01:00
Matthias Beyer 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
Matthias Beyer 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
Matthias Beyer d004c667fd 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
Matthias Beyer 5210985bf4 Optimize implementation
This does optimize the implementation of the list command implementation
(code-structure wise, not performance wise).

Functionality not altered.

Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2018-11-06 14:48:49 +01:00
Matthias Beyer 8223f846b4 Use new "ask" function interface with input/output stream params
In the imag-contact crate we had to rewrite the ask_continue!{} macro
as a function for less headache, but besides that this is a rather
straight-forward patch for adapting to the new interface.

Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2018-11-01 20:33:24 +01:00
Matthias Beyer aff5059652 imag-todo: Move from error-chain to failure
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2018-10-30 18:46:29 +01:00
Matthias Beyer 5821a55c14 imag-mail: Move from error-chain to failure
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2018-10-30 18:46:29 +01:00
Matthias Beyer fd2367b849 imag-timetrack: Move from error-chain to failure
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2018-10-30 18:46:29 +01:00
Matthias Beyer d7eda6c451 imag-log: Move from error-chain to failure
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2018-10-30 18:46:29 +01:00
Matthias Beyer 62eb711409 imag-wiki: Move from error-chain to failure
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2018-10-30 18:46:29 +01:00
Matthias Beyer 1362a3f9ea imag-bookmark: Move from error-chain to failure
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2018-10-30 18:46:29 +01:00
Matthias Beyer 3ac30c0944 imag-contact: Move from error-chain to failure
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2018-10-30 18:46:29 +01:00
Matthias Beyer 4486abed84 imag-diary: Move from error-chain to failure
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2018-10-30 18:46:29 +01:00
Matthias Beyer 8fb35b5fe1 imag-habit: Move from error-chain to failure
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2018-10-30 18:46:29 +01:00
Matthias Beyer 52c5300ec8 Update about-text in imag-wiki
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2018-10-17 11:37:24 +02:00
Matthias Beyer e96fb53677 Fix: Use "retrieve" instead of "create" when importing
This fixes a bug where a re-import of the contacts directory failed
because some entries already exist.
With this change, one can import the contact directory after things
changed in there and the imag database is updated accordingly, but not
altered. So links and notes are persisting.

For completeness: before, the workflow was to
`cd $IMAG_RTP && git rm store/contacts -r && imag contact import /path/to/contacts`
which is of course not optimal.

Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2018-10-07 10:56:56 +02:00
Matthias Beyer f768c068e3 Update dependency: regex: 0.2 -> 1 2018-10-06 12:22:15 +02:00
Matthias Beyer 0d6b345741 Update dependency: prettytable: 0.6 -> 0.8 2018-10-06 12:22:15 +02:00
Matthias Beyer f65824db22 Update dependency: prettytable: 0.6 -> 0.8 2018-10-06 12:22:15 +02:00
Matthias Beyer ab3b36ebcf Update dependencies
walkdir: 1 -> 2
uuid: 0.6 -> 0.7
2018-10-06 12:22:15 +02:00
Matthias Beyer 502889b9a2 Update dependency: prettytable: 0.6 -> 0.8 2018-10-06 12:21:20 +02:00
Matthias Beyer 89059bb7da Fix: Use VcardBuilder instead of Vcard itself
The current implementation does not panic on VcardBuilder::build(), so
we unwrap() that directly.

Should be fixed in future versions of either rust-vobject or here, so
that we error appropriately.

Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2018-09-27 15:05:45 +02:00
Matthias Beyer d9e4eaad3c Update kairos to master branch
Because of the new error-chain version which kairos can depend on, for
which kairos is not yet released.
2018-09-27 15:05:45 +02:00
Matthias Beyer e838f0d0e7 Update dependency: handlebars: 0.29.0 -> 1.0 2018-09-27 15:05:45 +02:00
Matthias Beyer f97d9e0d96 Temporarily set vobject to custom fork until we have a new release 2018-09-27 15:05:45 +02:00
Matthias Beyer 946d9891e4 Update dependency: vobject: 0.{4,5} -> 0.6 2018-09-27 15:05:45 +02:00
Matthias Beyer 61738ac9ee Revert "Update dependency: handlebars: 0.29.0 -> 1.0"
This reverts commit a1f0872486995b80216e8a08a2176debdef3752a.

As updating handlebars needs some more involvement, we roll back to the
version we use currently and schedule the update for later.

Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2018-09-27 15:05:45 +02:00
Matthias Beyer c65e73acc8 Update dependency: kairos: 0.1 -> 0.2 2018-09-27 15:05:45 +02:00
Matthias Beyer abf6a3c384 Update dependency: handlebars: 0.29.0 -> 1.0 2018-09-27 15:05:45 +02:00
Matthias Beyer 764a019817 Update dependency: log: 0.3 -> 0.4 2018-09-27 15:05:45 +02:00
Matthias Beyer 3d12998603 Update dependency: toml-query: 0.6 -> 0.7 2018-09-27 15:05:44 +02:00
Matthias Beyer 6bf49aa6b5 Fix: 'imag-contact show' should increase output counter 2018-09-27 08:09:39 +02:00
Matthias Beyer dc49b2265c Fix: Binary name
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2018-08-26 04:24:57 +02:00
Matthias Beyer d2bf1751ac Fix: Binary name
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2018-08-26 04:24:57 +02:00
Matthias Beyer 9507db6d8e Fix: Binary name
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2018-08-26 04:24:57 +02:00
Matthias Beyer b896bc2657 Fix: Do not create entries with Store::retrieve()
This patch fixes a bug where entries where created with
`Store::retrieve()` rather than with the API from libimagdiary.
This caused headers to be missing.

Now, the CLI is parsed for the values passed and a NaiveDateTime object
is crafted from that, which is then passed to libimagdiary.
2018-07-20 01:37:36 +02:00
Matthias Beyer 22d63f0946 Add functionality to create entry at a certain time 2018-07-20 01:37:36 +02:00
Matthias Beyer 8d86af5f15 Fix: Use unused result 2018-06-27 00:43:36 +02:00
Matthias Beyer eb682d76e8 Prettify error messages 2018-06-15 22:07:13 +02:00
Matthias Beyer 3b97db5c25 Fix: Duplicated printing of entries with "show --all"
The problem was that the used `Diary::diary_names()` iterator does not
call `unique()` on its output.
That decision was made because the return type would get more
complicated with that feature.

Now that rustc 1.26 with Impl Trait is out, we can refactor the return
types of these functions (so also with `Diary::diary_names()`) to
automatically do this.
2018-05-11 15:45:50 +02:00
Matthias Beyer 664edc7943 Update version string: 0.8.0 -> 0.9.0 2018-05-09 11:39:33 +02:00
Matthias Beyer f85dc02db6 Revert "Deny non-absolut import pathes"
This reverts commit b90abfb868.

Because `libimagcontact` is not based on `libimagentryref` anymore (as
of 2b10ab0b36), and thus does not put
pathes into the header, we can allow non-absolute pathes here.
2018-05-02 19:42:38 +02:00
Matthias Beyer b86ed2ffa9 Refactor imag-wiki to new store iterator interface 2018-05-01 17:44:20 +02:00
Matthias Beyer 7aca84dd5e Refactor imag-mail to new store iterator interface 2018-05-01 17:44:17 +02:00
Matthias Beyer 519b6f7ef2 Refactor imag-habit to new store iterator interface 2018-05-01 17:44:14 +02:00
Matthias Beyer 11f9a9027e Refactor imag-diary to new store iterator interface 2018-05-01 17:44:09 +02:00
Matthias Beyer e6244d7e9e Refactor imag-todo to fit new store iterator interface 2018-05-01 17:44:01 +02:00
Matthias Beyer 58a6eea573 Remove the edit command
The edit command of imag-diary gets removed by this patch.

The rationale is that imag-edit is way more powerful and thus, not every
other imag module should implement an edit command. Chaining
`imag-diary list` and `imag edit -I` is encouraged.

We still need the edit functionality in imag-diary, as `imag diary
create` shall spawn an editor, still. We only remove the ability for
editing of existing entries with this patch.
2018-04-30 14:04:16 +02:00
Matthias Beyer 6d21d8eb49 Update dependency: filters: 0.2 -> 0.3 2018-04-29 10:46:36 +02:00
Matthias Beyer 713621337f Adapt for new libimagcontact interface 2018-04-27 16:57:48 +02:00
Matthias Beyer 932ba3e7d4 Set extension or warn if none there
In case of auto-generating the file name, we should add an extension.
If we do not auto-generate the file name, we should warn that the
extension for the file is missing.
2018-04-27 13:58:46 +02:00
Matthias Beyer 493fa0226c
Merge pull request #1453 from matthiasbeyer/imag-contact/create-uid
Fix: Generate UID when creating a contact
2018-04-26 16:16:33 +02:00
Matthias Beyer ad9eb62376 Fix: Generate UID when creating a contact 2018-04-26 14:43:21 +02:00
Matthias Beyer 07e804a7c8 Fix: Make most fields optional 2018-04-26 14:01:53 +02:00
Matthias Beyer d6f8751f6e Reimplement imag-contact 2018-04-25 13:45:00 +02:00
Matthias Beyer a83d10fb1e Remove feature usage 2018-04-25 13:45:00 +02:00
Matthias Beyer b90abfb868 Deny non-absolut import pathes 2018-04-25 10:33:12 +02:00
Matthias Beyer 279f7ef2aa Fix: Pass output stream to view_entries() 2018-04-24 16:46:23 +02:00
Matthias Beyer 09d34783cb Fix imag-mail to list from appropriate collection 2018-04-24 13:40:42 +02:00
Matthias Beyer 22fb26dc12 Replace Store::retrieve_for_module() with own iterator type 2018-04-24 13:40:42 +02:00
Matthias Beyer 9303a72a28
Merge pull request #1436 from matthiasbeyer/imag-log/show-ordered
Fix: imag-log show should order by datetime
2018-04-22 15:55:25 +02:00
Matthias Beyer ee75d2309c Fix: imag-log show should order by datetime 2018-04-22 14:33:53 +02:00
Matthias Beyer d742e15763 Do not depend on "version" crate
We should not depend on the version crate, as it is GPL licensed.

We removed the usage of this crate before, but it was still in the
Cargo.toml files (despite being used in the source).
2018-04-22 11:09:31 +02:00
Matthias Beyer 6e80f603d6 Add functionality to list diaries 2018-04-19 21:36:22 +02:00
Matthias Beyer d2dceb6640 Update version numbers: 0.7.0 -> 0.8.0 2018-04-19 10:05:53 +02:00
Matthias Beyer b690925e01 Fix: Use fill storeid when listing 2018-04-18 18:32:11 +02:00
Matthias Beyer 4568b1f625
Merge pull request #1380 from matthiasbeyer/minor
Minor patches
2018-04-18 16:46:41 +02:00
Matthias Beyer 962b5fffd8 Remove unused imports/code 2018-04-18 14:32:23 +02:00
Matthias Beyer 2a0bf1cd51 Remove CLI for mainpage setting 2018-04-18 14:32:23 +02:00
Matthias Beyer 8ea3f62fbc Add autolinking 2018-04-18 14:32:23 +02:00
Matthias Beyer e1ffa4b107 Add name filtering in show command 2018-04-18 14:32:23 +02:00
Matthias Beyer 4450f22c5e Add show subcommand 2018-04-18 14:32:23 +02:00
Matthias Beyer cc9e7c89d0 Remove grep functionality 2018-04-18 14:32:23 +02:00
Matthias Beyer caf0e63b35 Rename "create" command to "create-wiki", introduce "create" for creating entries 2018-04-18 14:32:23 +02:00
Matthias Beyer 2c07ad9a3a Implement grep command 2018-04-18 14:32:23 +02:00
Matthias Beyer 2ee6dde75e Add implementation for delete functionality 2018-04-18 14:32:23 +02:00
Matthias Beyer 28f882e6c7 Add implementation for create subcommand 2018-04-18 14:32:23 +02:00
Matthias Beyer 8dd3a57114 Initial import 2018-04-18 14:32:23 +02:00
Matthias Beyer 98f8366e4c Fix documentation in crate metadata 2018-04-17 15:55:08 +02:00
Matthias Beyer 51b9b5c0db Fix: Use qualification 2018-04-14 00:58:40 +02:00
Matthias Beyer 1511d70fa3 Add lints 2018-04-14 00:39:43 +02:00
Matthias Beyer 561008bd7f Add lints 2018-04-14 00:39:43 +02:00
Matthias Beyer f92163f6d0 Add lints 2018-04-14 00:39:43 +02:00
Matthias Beyer e71019a2f2 Add lints 2018-04-14 00:39:43 +02:00
Matthias Beyer ad3269bbcc Add lints 2018-04-14 00:39:43 +02:00
Matthias Beyer 76c8443e50
Merge pull request #1395 from matthiasbeyer/clap-text-wrap
Clap text wrap
2018-04-13 22:46:09 +02:00
Matthias Beyer aeec10bf76 Use clap with wrap_help feature 2018-04-13 16:19:10 +02:00
Matthias Beyer b59c234588 Use clap "^2.29" instead of ">=2.29" 2018-04-13 16:17:43 +02:00
Matthias Beyer 532de484f2 Fix: List ids sorted 2018-04-13 13:51:56 +02:00
Matthias Beyer 3dfb17aabd Add functionality to find contacts and print the storeid/file path 2018-04-06 15:42:15 +02:00
Matthias Beyer 2cee4ba90f
Merge pull request #1375 from matthiasbeyer/imag-contact/find-format
imag-contact: Add format argument
2018-04-06 15:32:15 +02:00
Matthias Beyer c6d0e37629 Fix formatted output, use seperator for lists
The formatted output should use ", " as seperator for lists of values
2018-04-06 14:26:46 +02:00
Matthias Beyer 14fc6c7c7f Add format argument 2018-04-06 14:24:30 +02:00
Matthias Beyer 8c1b4124c0 Handle unknown subcommands in binaries with Runtime::handle_unknown_subcommand 2018-04-04 19:34:13 +02:00
Matthias Beyer bcdfe3ceea Use variable mutable, so we can create an instance 2018-03-22 21:32:58 +01:00
Matthias Beyer 00d485c3d3 Add parameter to show done habits 2018-03-22 14:36:51 +01:00
Matthias Beyer e755bfd9de Add JSON output support 2018-03-12 17:46:06 +01:00
Matthias Beyer 6ec509709d
Merge pull request #1336 from matthiasbeyer/imag-contact/find-show
imag-contact: Add "find" command
2018-03-12 17:07:11 +01:00
Matthias Beyer cbe30fa9c2 Add "find" command
This patch adds a "find" command to imag-contact which can either list
or show the found contacts (defaults to "list").
2018-03-12 15:23:37 +01:00
Matthias Beyer af4fadf104 Join mails with comma 2018-03-12 14:46:24 +01:00
Matthias Beyer ee6e766c8d Use generate_runtime_setup() to create Runtime object 2018-03-04 13:57:44 +01:00
Matthias Beyer 50461b839a Use output stream from Runtime::stdout() 2018-03-04 13:57:44 +01:00
Matthias Beyer f88884c321
Merge pull request #1321 from matthiasbeyer/libimagdiary/not-on-retrieve-for-module
libimagdiary: Do not rely on Store::retrieve_for_module
2018-03-03 13:53:18 +01:00
Matthias Beyer eccb52a85c Fix imag-log for new Diary::entries() interface 2018-03-02 23:27:20 +01:00
Matthias Beyer cedbaf1b5c Add "daily" support 2018-03-02 23:10:53 +01:00
Matthias Beyer 776e1dac91 Fix: Hourly/Minutely should set minute/second to zero 2018-03-02 23:10:53 +01:00
Matthias Beyer affd15a890 Rewrite imag-diary for new Diary::entries() interface 2018-03-02 21:28:40 +01:00
Matthias Beyer c2b754dbec
Merge pull request #1303 from matthiasbeyer/imag-diary/fix-list-diary-name-passing
Fix order of evaluation
2018-02-20 18:37:55 +01:00
Matthias Beyer 0cde88d661 Fix order of evaluation
We need to evaluate the commandline argument first and if there is none,
we use the default.

This patch fixes that bug.
2018-02-20 17:27:42 +01:00
Matthias Beyer 027c4b3287 Remove usage of libimagentrylist 2018-02-20 15:02:46 +01:00
Matthias Beyer 9ced9008b5 Refactor imag-contact for new libimagentryref API 2018-02-19 12:15:40 +01:00
Matthias Beyer 427ad89e55 Fix broken pipe panics 2018-02-19 11:14:19 +01:00
Matthias Beyer 849229eec6 Fix broken pipe panics 2018-02-19 11:14:19 +01:00
Matthias Beyer e501f66dac Fix broken pipe panics 2018-02-19 11:14:19 +01:00
Matthias Beyer 23e0f720e5 Fix broken pipe errors 2018-02-19 11:14:18 +01:00
Matthias Beyer 876c1cb9af Fix broken pipe panics 2018-02-19 11:14:18 +01:00
Matthias Beyer 5e78a43242 Fix for broken pipe panics 2018-02-19 11:14:18 +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 eb2f6fbbe2 Fix for broken pipe errors 2018-02-19 10:40:26 +01:00
Matthias Beyer 013fc75d85 Fix output for broken pipe errors 2018-02-19 10:40:26 +01:00
Matthias Beyer b586e13a98 Add timewarrior import script 2018-02-18 20:03:50 +01:00
Matthias Beyer 10e7a82a45 Refactor imag-diary 2018-02-18 20:03:50 +01:00
Matthias Beyer b61547c2d1 Add debug output what is about to be done 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 9469693763 Use new make_imag_version!() macro for building version string 2018-02-13 11:38:34 +01:00
Matthias Beyer 94cad804e1 Use ErrFromStr convenience extension 2018-02-12 21:25:51 +01:00
Matthias Beyer 63f2c70bed Fix imag-notes for new error interface 2018-02-12 21:19:48 +01:00
Matthias Beyer 8128d3ade9 Fix imag-mail for new error interface 2018-02-12 21:19:48 +01:00