Commit Graph

902 Commits

Author SHA1 Message Date
Matthias Beyer 79b996f0ad imag: 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 f970fc987f Update about-text in imag-tag
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2018-10-17 11:37:24 +02:00
Matthias Beyer 5b4715b311 Update about-text in imag-link
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2018-10-17 11:37:24 +02:00
Matthias Beyer 0d103653ea Update about-text in imag-ids
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2018-10-17 11:37:24 +02:00
Matthias Beyer 325c5ddbd0 Fix: URL in imag helptext
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2018-10-17 11:37:24 +02:00
Matthias Beyer 8e232523b2 Fix: We dont have a subcommand "internal" anymore
This subcommand was passed but it does not exist. Unfortunately, the
tests did not fail...

Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2018-10-09 17:37:56 +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 029b83042d Fix detecting of external links
Checking whether we have a file (on the FS) here is not enough for
either case (external link/internal link).

Thus, we should check whether a store entry with that ID exists. If it
does, we link internally, else externally by trying to parse the string
as URL.

Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2018-10-06 12:58:54 +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 51730eed89 Update dependency: tempfile: 2 -> 3 2018-10-06 12:21:20 +02:00
Matthias Beyer 502889b9a2 Update dependency: prettytable: 0.6 -> 0.8 2018-10-06 12:21:20 +02:00
Matthias Beyer f2de746293 Update dependency: regex: 0.2 -> 1 2018-10-06 12:21:20 +02:00
Matthias Beyer 2077980f22 Update dependencies: log: 0.3 -> 0.4 2018-10-06 12:21:20 +02:00
Matthias Beyer 3e4fcb19bb Update dependencies: log: 0.3 -> 0.4, version: 2 -> 3 2018-10-06 12:21:20 +02:00
Matthias Beyer 3b0b9c8d7b Update dependency: walkdir 1 -> 2 2018-09-30 15:04:29 +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 0a7afee454 Update dependency: error-chain: 0.11 -> 0.12 2018-09-27 15:05:25 +02:00
Matthias Beyer c791977aab
Merge pull request #1506 from matthiasbeyer/minor
Minor
2018-09-27 09:53:31 +02:00
Matthias Beyer 6bf49aa6b5 Fix: 'imag-contact show' should increase output counter 2018-09-27 08:09:39 +02:00
Matthias Beyer 6f768fe4ad Add a progressbar to the command
Note: characters in config have to be escaped.
2018-09-27 07:40:10 +02:00
Matthias Beyer 430186799b Remove store flush caching as it is not necessary anymore 2018-09-27 07:31:47 +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 ab32f21333 Fix: Binary name
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2018-08-26 04:24:57 +02:00
Matthias Beyer 6e56f469ae More verbose erroring in test 2018-08-26 04:24:57 +02:00
Matthias Beyer acdc1e84bc
Merge pull request #1495 from matthiasbeyer/imag-diary/fix-missing-header
Imag diary/fix missing header
2018-07-27 20:10:59 +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 f6a7345b4a Simplify: Move header verification from Value extension to Entry type 2018-07-19 20:58:27 +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 61d0136c26 imag-category: Initial import 2018-05-04 11:09:20 +02:00
Matthias Beyer 9c36fc8ac0
Merge pull request #1468 from matthiasbeyer/imag-ids/filters
imag-ids: filters
2018-05-03 10:22:20 +02:00
Matthias Beyer 846de028cf Add trace output in filtering process 2018-05-02 20:42:56 +02:00
Matthias Beyer 191f049ea8 Add language documentation in commandline help 2018-05-02 20:42:56 +02:00
Matthias Beyer f618026305 Add store cache flushing after each 100st entry 2018-05-02 20:42:56 +02:00
Matthias Beyer c27349e94f Implement header filter language 2018-05-02 20:42:56 +02:00
Matthias Beyer f4e1c0864c Implement 'where' subcommand 2018-05-02 20:42:56 +02:00
Matthias Beyer d518322401 Add notes how the filter language should look like 2018-05-02 20:42:56 +02:00
Matthias Beyer 74c982984c Move collection filter to new module 2018-05-02 20:42:56 +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 eb20a9d881
Merge pull request #1477 from matthiasbeyer/libimagstore/remove-walk
Remove Store::walk()
2018-05-02 18:39:11 +02:00
Matthias Beyer 0dbef993c1 Adapt "imag store verify" implementation for removed Store::walk() 2018-05-02 17:46:45 +02:00
Matthias Beyer be62843608 Fix description 2018-05-01 22:29:46 +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 829e425c12 Refactor imag-view to new store iterator interface 2018-05-01 17:44:05 +02:00
Matthias Beyer a9d0f3d53a Refactor imag-edit to new store iterator interface 2018-05-01 17:44:01 +02:00
Matthias Beyer dd453659ed Refactor imag-mv to fit new store iterator interface 2018-05-01 17:44:01 +02:00
Matthias Beyer e6244d7e9e Refactor imag-todo to fit new store iterator interface 2018-05-01 17:44:01 +02:00
Matthias Beyer eaf8148cda Refactor imag-ids to fit new store iterator interface 2018-05-01 17:44:01 +02:00
Matthias Beyer 40a04376ed Refactor imag-link to fit new store iterator interface 2018-05-01 17:44:01 +02:00
Matthias Beyer d45eef299e
Merge pull request #1476 from matthiasbeyer/imag-diagnostics/refactor
Minify code with helper macro
2018-04-30 21:49:24 +02:00
Matthias Beyer 424a060cc8
Merge pull request #1475 from matthiasbeyer/imag-diagnostics/flush-cache
imag-diagnostics: flush cache
2018-04-30 21:07:56 +02:00
Matthias Beyer 004faaa905 Performe cache flushing during aggregation 2018-04-30 18:40:19 +02:00
Matthias Beyer b713718693 Minify code with helper macro 2018-04-30 14:15:34 +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 0976cab014
Merge pull request #1464 from matthiasbeyer/libimagentrygps/32-bit-gps-values
libimagentrygps: 32 bit gps values
2018-04-29 00:35:21 +02:00
Matthias Beyer dbb39475d9 Upgrade variables to 64 bit 2018-04-28 23:27:12 +02:00
Matthias Beyer f493b4b8c3 Fix: Allow second to be missing 2018-04-28 23:18:02 +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 0e567e2358
Merge pull request #1445 from matthiasbeyer/imag-view/seperator
imag-view argument to put seperator between shown entries
2018-04-25 10:01:36 +02:00
Matthias Beyer 95a4816604 Implement imag-view argument to put seperator between shown entries 2018-04-24 22:49:53 +02:00
Matthias Beyer be74afd031 Remove "dump" subcommand 2018-04-24 22:16:40 +02:00
Matthias Beyer c2fd3fa94e Add support for formatted markdown output
This patch also removes the (unused) "compile" subcommand and replaces
it with a flag "-c" / "--compile" which prints the output in formatted
to the terminal.

Compiling the output from markdown to HTML and showing in the browser is
not yet possible.
2018-04-24 18:06:45 +02:00
Matthias Beyer 279f7ef2aa Fix: Pass output stream to view_entries() 2018-04-24 16:46:23 +02:00
Matthias Beyer 653db333e6 Fix imag-view for new view_entry() interface 2018-04-24 16:46:23 +02:00
Matthias Beyer 726e4c515f
Merge pull request #1422 from matthiasbeyer/imag-git/init
imag-git: init
2018-04-24 15:26:19 +02:00
Matthias Beyer 8a5abb22f4 Generate completion for imag-git 2018-04-24 13:56:11 +02:00
Matthias Beyer 055a55c9f0 Add imag-git command 2018-04-24 13:56:11 +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 7d3224a258
Merge pull request #1437 from matthiasbeyer/imag/fix-doubled-output
Fix: Do not inherit stdout here
2018-04-22 16:12:32 +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 c3fe934119
Merge pull request #1435 from matthiasbeyer/imag-view/fix-autowrapping
Fix: Do not automatically wrap text
2018-04-22 15:55:19 +02:00
Matthias Beyer 909240fc24 Fix: Do not inherit stdout here
This caused us to print funny output. But we want to catch the output
and print a nice list ourselves here.
2018-04-22 14:37:56 +02:00
Matthias Beyer ee75d2309c Fix: imag-log show should order by datetime 2018-04-22 14:33:53 +02:00
Matthias Beyer 10b71864f6 Fix: Do not automatically wrap text
We must use `ArgMatches::occurrences_of` here to check whether the
argument was actually passed.

If it was not passed, we do not wrap at all.
2018-04-22 14:17:12 +02:00
Matthias Beyer a343a2ab90 Do not use version crate in build script 2018-04-22 11:09:31 +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 ca5e150f3a
Merge pull request #1421 from matthiasbeyer/imag-view/wrapping
imag-view: wrapping
2018-04-20 09:24:14 +02:00
Matthias Beyer e0decb7294
Merge pull request #1419 from matthiasbeyer/imag-diary/list-diaries
Add functionality to list diaries
2018-04-20 09:24:07 +02:00
Matthias Beyer e820f8bfb2 Add functionality to read storeids from stdin 2018-04-19 22:08:34 +02:00
Matthias Beyer 36bc517524 Add support for tagging/untagging multiple entries with one call 2018-04-19 22:08:34 +02:00
Matthias Beyer e80bf7b57d Add feature for wrapping output 2018-04-19 21:55:27 +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 0d31ee7efd Update dependencies: Add version 2018-04-19 09:57:36 +02:00
Matthias Beyer b690925e01 Fix: Use fill storeid when listing 2018-04-18 18:32:11 +02:00
Matthias Beyer e29bbdb98d Fix: Make error message more explanatory 2018-04-18 17:41:34 +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 90593e2d93 Update dependency: toml-query: 0.4 -> 0.6 2018-04-15 09:15:24 +02:00
Matthias Beyer fb4917d050 Remove feature to generate commandline completion scripts 2018-04-14 14:35:28 +02:00
Mario Krehl 9a316d1268 Add license header to build.rs script 2018-04-14 14:19:28 +02:00
Mario Krehl f463565770 Change target directory of completions to target/ 2018-04-14 14:19:28 +02:00
Mario Krehl 38b4151b84 Fix: macro call build_subcommand 2018-04-14 14:19:28 +02:00
Mario Krehl 7e9c25fd63 Refactor: use App in the build_ui function of imag-init 2018-04-14 14:19:28 +02:00
Mario Krehl 84e1cffbe3 Fix: use mod ui and remove unused imports 2018-04-14 14:19:28 +02:00
Mario Krehl d4c7019fc7 move target directory of the shell completions to target/shell-completions.d/ 2018-04-14 14:19:28 +02:00
Mario Krehl 264a07239f move the build_ui function of imag-ids into its own file 2018-04-14 14:19:28 +02:00
Mario Krehl 1d6e993ee8 fix copypasta fails 2018-04-14 14:19:28 +02:00
Mario Krehl a7959a2e67 add all current imag binaries to the shell-completion script 2018-04-14 14:19:28 +02:00
Mario Krehl a104d53919 build script for shell completion works again 2018-04-14 14:19:28 +02:00
Mario Krehl de9ef077c3 add build.rs again 2018-04-14 14:19:28 +02:00
mario ec2b8984bb Add comment for `&version!()[..]` 2018-04-14 14:19:28 +02:00
mario 0f22941cd0 Add comments about functionality,
increase verbosity of some variables
2018-04-14 14:19:27 +02:00
mario 85cd326818 Add build_subcommand! macro 2018-04-14 14:19:27 +02:00
mario a825f4aba6 Add additional dependencies 2018-04-14 14:19:27 +02:00
mario d93b93fece Change from types implementing build_ui to a mod for every binary.
Works with all available binaries.
Code cleanup
2018-04-14 14:19:27 +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 f6f1c23456 Add lints 2018-04-14 00:39:43 +02:00
Matthias Beyer 461d59fcb0 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 a53f130557
Merge pull request #1393 from matthiasbeyer/imag-diary/list-ids-sorted
Fix: List ids sorted
2018-04-13 15:54:32 +02:00
Matthias Beyer 17ff619ca5
Merge pull request #1391 from matthiasbeyer/imag-grep/fix-count
Fix missing counting
2018-04-13 15:54:18 +02:00
Matthias Beyer 532de484f2 Fix: List ids sorted 2018-04-13 13:51:56 +02:00
Matthias Beyer 02985e5a0d Fix missing counting 2018-04-13 13:27:08 +02:00
Matthias Beyer 89cf979b13 Add functionality to filter for a collection 2018-04-13 11:25:59 +02:00
Matthias Beyer dce7c1b820 Update copyright years 2018-04-11 16:54:26 +02:00
Matthias Beyer 2f47becef4
Merge pull request #1378 from matthiasbeyer/imag-view/ids-from-stdin
imag-view: Add support for piping entry ids into command
2018-04-07 10:51:10 +02:00
Matthias Beyer a14ab7b635
Merge pull request #1377 from matthiasbeyer/imag-contact/find-id
imag-contact: Add functionality to find contacts and print the storeid/file path
2018-04-07 10:51:02 +02:00
Matthias Beyer 5061faaa74 Add support for piping entry ids into command 2018-04-06 16:16:22 +02:00
Matthias Beyer 1d5171d770
Merge pull request #1376 from matthiasbeyer/imag-view/multiple-ids
imag-view: Add support for viewing multiple entries
2018-04-06 16:15:32 +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 f1cdb21430 Add support for viewing multiple entries 2018-04-06 15:30:12 +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 e61ccc9561 Fix: Entry::to_str() should return Result<_>
Because serializing might fail.

Also fixes all usages of the API.
2018-03-26 14:24:42 +02:00
Matthias Beyer 7907ed96c7
Merge pull request #1368 from matthiasbeyer/imag-link/list-output-table
imag-link: Do table output by default
2018-03-23 19:37:13 +01:00
Matthias Beyer f627d22057 Add header editing support 2018-03-23 17:16:40 +01:00
Matthias Beyer 9c13c276fb Do table output by default 2018-03-23 15:58:45 +01:00
Matthias Beyer fd91662ed9
Merge pull request #1363 from matthiasbeyer/imag-init/create-store-dir
Fix: Create store directory as well
2018-03-23 13:41:10 +01:00
Matthias Beyer 8f1d3c4ffb Fix: Create store directory as well 2018-03-23 10:12:39 +01:00
Matthias Beyer 127681498f Add debug output in tests 2018-03-23 10:05:58 +01: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 64c8aee7fb Add functionality to include store path (defaults to no) 2018-03-16 23:51:41 +01:00
Matthias Beyer dc76729bea
Merge pull request #1345 from matthiasbeyer/imag/inherit-stdio
Inherit stdio to child process
2018-03-12 23:22:17 +01:00
Matthias Beyer ee72e61b44
Merge pull request #1343 from matthiasbeyer/imag-tag/rewrite-cli
imag-tag: rewrite cli
2018-03-12 23:07:06 +01:00
Matthias Beyer 45be292dd3 Inherit stdio to child process 2018-03-12 22:43:26 +01:00
Matthias Beyer fbc3bda54b Rewrite CLI for more positional args
Also removed some non-working "+<tag>" and "-<tag>" handling.
2018-03-12 22:16:47 +01:00
Matthias Beyer 8ae6e735e7 Allow reading store ids from stdin 2018-03-12 19:58:27 +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 579c00b62a Replace hard coded version strings with compiletime env 2018-03-06 12:45:41 +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 590a2e8f1d
Merge pull request #1317 from matthiasbeyer/imag-diary/daily
imag diary: "daily" support + Fixes for other timed entries
2018-03-03 13:29:10 +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 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 35ac7ba927 Provide unlink() CLI interface 2018-02-25 18:59:02 +01:00
Matthias Beyer b2048b3dcf
Merge pull request #1306 from matthiasbeyer/minor
Minor patches
2018-02-20 20:23:41 +01:00
Matthias Beyer f38a4eb723
Merge pull request #1304 from matthiasbeyer/imag-init/imag-version-generator
Use the make_imag_version!() helper
2018-02-20 19:21:08 +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 c4b33005fd Increase gap size 2018-02-20 17:46:50 +01:00
Matthias Beyer 59ea31a077 Use the make_imag_version!() helper 2018-02-20 17:45:14 +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 f5df7cf332 Revert "Dump all StoreIds"
This reverts commit 1f84643486.
2018-02-20 13:40:52 +01:00
Matthias Beyer dd8d4e6fa4 Add imag-ids core command 2018-02-20 13:37:10 +01:00
Matthias Beyer 2dc23c8101 Merge branch 'imag-ref/rewrite-libimagref-api-usage' into libimagentryref/refactor 2018-02-19 12:17:58 +01:00
Matthias Beyer 9ced9008b5 Refactor imag-contact for new libimagentryref API 2018-02-19 12:15:40 +01:00
Matthias Beyer d3d6b80b8b Redesign of the CLI 2018-02-19 12:15:13 +01:00
Matthias Beyer b9d04730db Fix for broken pipe panics 2018-02-19 11:14:19 +01:00
Matthias Beyer e8f8969ded Fix broke pipe panics 2018-02-19 11:14:19 +01:00
Matthias Beyer 36e511d39b Fix broken pipe panics 2018-02-19 11:14:19 +01:00
Matthias Beyer 380aeccdc7 Fix broken pipe panics 2018-02-19 11:14:19 +01:00
Matthias Beyer 125eebe1ce Fix broken pipe panic 2018-02-19 11:14:19 +01:00
Matthias Beyer fc0610b77f Fix broken pipe panic 2018-02-19 11:14:19 +01:00
Matthias Beyer 872b300b9c Fix broken pipe panics 2018-02-19 11:14:19 +01:00
Matthias Beyer 632d68e0e0 Fix broken pipe panic 2018-02-19 11:14:19 +01:00
Matthias Beyer 09da5cc21e Fix for broken pipe panic 2018-02-19 11:14:19 +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 88d21375b9 Refactor "imag store ids" command to not panic on broken pipe 2018-02-19 10:40:26 +01:00
Matthias Beyer 2decc904aa Fix binary name 2018-02-18 20:04:22 +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 6b0930adec Use ErrFromStr convenience extension 2018-02-12 21:25:33 +01:00
Matthias Beyer efdfb2a308 Fix imag-view for new error interface 2018-02-12 21:19:48 +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
Matthias Beyer ee23f432de Fix imag-contact for new error interface 2018-02-12 21:19:48 +01:00
Matthias Beyer 86abfb88a4 Fix imag-bookmark error handling 2018-02-12 21:19:48 +01:00
Matthias Beyer c0000b6410 Rewrite .map_err_trace_exit_unwrap()
Necessary because error types changed
2018-02-12 21:19:48 +01:00
Matthias Beyer 50b0ffa6ae Remove calls to trace_error_exit() 2018-02-12 21:19:48 +01:00
Matthias Beyer 3845399fb8 Simplify implementation for new libimagerror interface 2018-02-12 21:19:48 +01:00
Matthias Beyer ba1c6c06fa Add error chaining for compatibility with new libimagerror interface 2018-02-12 21:19:48 +01:00
Matthias Beyer 1f4c0cafe4 Remove calls to trace_error_exit 2018-02-12 21:19:48 +01:00
Matthias Beyer a43232230b Fix error handling for new API 2018-02-12 21:19:48 +01:00
Matthias Beyer 7892782675 Refactor error handling 2018-02-12 21:19:48 +01:00
Matthias Beyer b9800e19e9 Refactor imag-diary to use new error handling interface 2018-02-12 21:19:48 +01:00
Matthias Beyer 77be32d80f Remove "get" iterator, store provides this now 2018-02-11 23:44:27 +01:00
Matthias Beyer cf0f93104d Add kairos support in "list" subcommand
This patch adds kairos support in the "list" subcommand for the "-f" and
"-t" parameters which limit the entries to show.

Something like

    imag timetrack list --from yesterday

is now possible.
2018-02-11 21:27:15 +01:00
Matthias Beyer 4c95625def
Merge pull request #1278 from matthiasbeyer/imag-init/fix-release-build-include-string-path
imag-init: fix release build include string path
2018-02-11 17:55: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 938601f4fd
Merge pull request #1267 from matthiasbeyer/imag-link/do-not-link-entry-with-itself
Do not allow linking with entry itself
2018-02-11 16:07:36 +01:00
Matthias Beyer 8a3f2602e0 Fix include_str!() in imag-init
Fixed by symlinking the imagrc.toml file to the crate directory of
imag-init.
2018-02-11 14:43:35 +01:00
Matthias Beyer 30d2c28a22 Update version string: 0.6.0 -> 0.7.0 2018-02-11 14:22:24 +01:00
Matthias Beyer 5e43773158 Do not allow linking with entry itself
Without this check, linking an entry with itself yields the following
error:

    ERROR[   1]: Entry is already borrowed: StoreId { base: Some("/home/m/.imag/store"), id: "notes/test" }
    ERROR[   2]: Error when calling retrieve() -- caused:
    ERROR[   3]: Error when calling get()

Which is semantically correct, but the user may get confused by that.

Instead, we print a nice error message that the entry cannot be linked
to itself.

This is not fixed in libimagentrylink itself, because libimagentrylink
cannot be called for the same entry.
If this would be possible, we would pass two `Entry` objects
mutably to the link functionality routines. This is not possible with
Rusts borrow semantics and therefor yields above error.

We compare strings to check whether the user accidentially linked an
entry with itself because we cannot get StoreIds from Entries because we
cannot get the Entry two times from the store in the first place. So
this is the best we have.
2018-02-11 13:41:16 +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 4ead39233b
Merge pull request #1280 from matthiasbeyer/imag-init/fix-git-init
Fix: git dir is not worktree dir
2018-02-11 13:29:02 +01:00
Matthias Beyer 7f4cdced4a
Merge pull request #1262 from matthiasbeyer/do-not-print-ok
Do not print "Ok" after successful execution
2018-02-10 21:22:12 +01:00
Matthias Beyer 1f462e4635
Merge pull request #1264 from matthiasbeyer/imag-log/show-alias-list
Alias subcommand "show" to "list"
2018-02-10 21:22:05 +01:00
Matthias Beyer 7bbc379b73
Merge pull request #1266 from matthiasbeyer/imag/list-commands-alphabetically
Sort commands alphabetically
2018-02-10 21:21:57 +01:00
Matthias Beyer faafe6e994
Merge pull request #1265 from matthiasbeyer/imag/help
Add subcommand "help"
2018-02-10 18:56:29 +01:00
Matthias Beyer 3b098069c5 Fix: git dir is not worktree dir 2018-02-10 18:18:39 +01:00
Matthias Beyer 9f48071e48 Do not print "Ok" after successful execution 2018-02-10 16:41:27 +01:00
Matthias Beyer ec2f3a73d7 Do not print stats when listing files with matches 2018-02-10 16:41:23 +01:00
Matthias Beyer 2dfede240e Alias subcommand "show" to "list" 2018-02-10 16:41:20 +01:00
Matthias Beyer c17b256dfd Add subcommand "help" 2018-02-10 16:41:15 +01:00
Matthias Beyer 45cec64575 Sort commands alphabetically 2018-02-10 16:40:53 +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 35bc1009f2 Revert "Fix include path for release"
This reverts commit c229d7d1fc.
2018-02-10 15:14:03 +01:00
Matthias Beyer c229d7d1fc Fix include path for release 2018-02-10 15:08:40 +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 1217d88a50 Fix links after moving entry 2018-02-06 23:37:21 +01:00
Matthias Beyer 864e457dce
Merge pull request #1259 from matthiasbeyer/imag-log/no-leading-space
Do not put a leading space in the log
2018-02-06 23:29:22 +01:00
Matthias Beyer da74896248
Merge pull request #1258 from matthiasbeyer/imag-log/dont-list-non-log-entries
Do not list entries which are not "log" entries
2018-02-06 22:39:13 +01:00
Matthias Beyer 1b588172dd
Merge pull request #1255 from matthiasbeyer/imag-notes/fix-list
Fix imag-notes list errors
2018-02-06 21:45:37 +01:00
Matthias Beyer 88b7b43d2c Do not put a leading space in the log 2018-02-06 20:54:11 +01:00
Matthias Beyer f44f13e23a Do not list entries which are not "log" entries 2018-02-06 20:48:47 +01:00
Matthias Beyer 97e613d8c5 Use libimagstore get iterator
Use libimagstore infrastructure to transform iterator in
StoreIdGetIterator for getting entries from store.
2018-02-06 20:41:13 +01:00
Matthias Beyer 8cba4daf20 Print to stderr 2018-02-06 19:28:27 +01:00
Matthias Beyer 85d1c632d3 Print "imag-<tool>" rather than only "<tool>"
The error output should note "imag-<tool> exited with ..." rather than
only "<tool> exited with ..."
2018-02-06 19:28:08 +01:00
Matthias Beyer 3b138ba881
Merge pull request #1231 from matthiasbeyer/update-kairos
Update kairos dependency: 0.1.0-beta-2 -> 0.1.0
2018-02-05 17:30:55 +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 d1fc8c3995 Add second support in imag-diary commandline interface 2018-02-04 19:51:07 +01:00
Matthias Beyer ae4ced9587 Show content by default 2018-02-01 21:47:09 +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 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 4d94791b1f Move date <-> string conversion utility to libimagutil 2018-02-01 09:26:33 +01:00
Matthias Beyer 30ef3bf0d3 Comment type fixed 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 82b67115e6 Refactor: Minify
Pull in new dependencies for minification
2018-01-29 09:38:32 +01:00
Matthias Beyer 74f58d6c06 Remove unused imports 2018-01-29 09:38:32 +01:00
Matthias Beyer 53bf1a513b Implement stopping all tags which are started 2018-01-28 20:51:20 +01:00
Matthias Beyer 3735fbac2f
Merge pull request #1166 from matthiasbeyer/log-0-4-0
Dependency update: log 0.4.0
2018-01-18 15:40:50 +01:00
Matthias Beyer fcfc397fc8 env_logger: 0.5.0-rc.2 -> 0.5 2018-01-18 14:15:40 +01:00
Matthias Beyer 45ac9b4132 Change list command to use a table for output 2018-01-16 14:48:48 +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 f209e12410 Update dependency: log: 0.3.* -> 0.4.0-rc.1 2018-01-15 11:20:07 +01:00
Matthias Beyer 5beadbbf5b Call default command if no command is passed 2018-01-13 14:36:31 +01:00
Matthias Beyer 284f12e8cb Refactor: Split actual list implementation from argument processing 2018-01-13 14:36:31 +01:00
Matthias Beyer 47e98675e7 imag-todo: Replace read with typed read 2018-01-13 01:14:03 +01:00
Matthias Beyer 55d97e565d imag-log: Replace read with typed read 2018-01-13 01:14:03 +01:00
Matthias Beyer f0e8e89c15 imag-contact: Replace read with typed read 2018-01-13 01:14:03 +01:00
Matthias Beyer 137680498c imag-bookmark: Replace read with typed read 2018-01-13 01:14:03 +01:00
Matthias Beyer 0a78d43741 imag-view: Replace read with typed read 2018-01-13 01:14:03 +01:00
Matthias Beyer 0c4be78223 Update dependency: toml-query -> 0.6 2018-01-13 01:14:03 +01:00
Matthias Beyer 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
Matthias Beyer 8d69e45c0e Add imag-edit command 2018-01-09 11:56:22 +01:00
Matthias Beyer 15cc7d6805
Merge pull request #1210 from matthiasbeyer/imag-after-help
imag: Use App::after_help()
2018-01-08 23:30:51 +01:00
Matthias Beyer 0c2308bd76 Use App::after_help() for printing runtime-generated help output 2018-01-08 16:55:07 +01:00
Matthias Beyer 95e861b5ca Adapt for new API 2018-01-08 15:16:14 +01:00
Matthias Beyer 5aeaacc317
Merge pull request #1190 from matthiasbeyer/imag-init/init
imag-init: initial import
2018-01-04 19:37:50 +01:00
Matthias Beyer 38f8de15bf Revert "Integrate spinner for nicer progress reports"
This reverts commit de7a4d2dfb.
2018-01-04 12:10:07 +01:00
Matthias Beyer a6fd525c0f Add "show" functionality 2018-01-03 21:09:03 +01:00
Matthias Beyer 3cf1fd0baf Add CLI implementation 2018-01-03 16:54:08 +01:00
Matthias Beyer 7a364639ee Initial import: imag-log 2018-01-03 16:54:08 +01:00
Matthias Beyer de7a4d2dfb Integrate spinner for nicer progress reports 2018-01-03 16:00:46 +01:00
Matthias Beyer f324deb41e imag-init: initial import 2018-01-03 15:48:58 +01:00
Matthias Beyer 774933ae4a
Merge pull request #1163 from matthiasbeyer/libimagstore/mighty-iters
libimagstore: More powerful iterator extensions
2017-12-25 22:02:56 +01:00
Matthias Beyer 3c8dd19d11 Update version strings: 0.5.0 -> 0.6.0 2017-12-25 19:17:07 +01:00
Matthias Beyer d6e1994eeb Fix: Explicitely import only relevant trait 2017-12-24 13:52:50 +01:00
Matthias Beyer 8104b1cf0b Adapt tests
This changes the internal function `link_from_to` a bit, but as this is
only internal we don't care.
2017-12-23 12:57:15 +01:00
Matthias Beyer 9ec5ed9b05 Rewrite imag-link commandline to be intelligent
This patch is a rewrite for the imag-link commandline to automatically
recognize whether an internal or an external link is about to be made
and automatically do the right thing.

The commandline got a lot easier and also smaller in size (as in number
of commands), but the functionality should remain the same.
2017-12-23 12:57:13 +01:00
Matthias Beyer 05a630f943 Change UI. Positional args are not possible here 2017-12-22 14:40:01 +01:00
Matthias Beyer 6a7e7f0f12 Add functionality so we can create a habit with a due date 2017-12-22 14:40:01 +01:00
Matthias Beyer df16d0737e Adapt for new API of Habit::next_instance_date()
With cd8f0beae8
the interface of `HabitTemplate::next_instance_date()` changed to return
a `Result<Option<_>>` rather than a `Result<_>` because the
next_instance_date could be a None if the Habit was closed already.

This patch adapts imag-habit for this new interface.
2017-12-22 14:40:01 +01:00
Matthias Beyer 501f67dcf2 Add more output in today() 2017-12-22 14:40:01 +01:00
Matthias Beyer 496850a762 Add future-check in CLI and fix for default command invokation 2017-12-22 14:40:01 +01:00
Matthias Beyer 39a983f6fb Add more details to default command 2017-12-22 14:40:01 +01:00
Matthias Beyer 7cf46f99d4 Add `done` functionality 2017-12-22 14:40:01 +01:00
Matthias Beyer b78095d8bc Impl delete() 2017-12-22 14:40:01 +01:00
Matthias Beyer ff39a450b1 Explicitely state that printing an empty table is forbidden 2017-12-22 14:40:01 +01:00
Matthias Beyer 404d839310 Make "today" the default command 2017-12-22 14:40:01 +01:00
Matthias Beyer 0fa1ae28f8 Let "today" command list upcoming habits 2017-12-22 14:40:01 +01:00
Matthias Beyer 5574764d83 Add a subcommand to list habits due today 2017-12-22 14:40:01 +01:00
Matthias Beyer 2520635cae Add support for listing the next date when the habit must be done 2017-12-22 14:40:01 +01:00
Matthias Beyer 6e7414a2fd Implement show() 2017-12-22 14:40:01 +01:00
Matthias Beyer 915b1325d2 Implement list() 2017-12-22 14:40:01 +01:00
Matthias Beyer 528b30c1ff Implement create() 2017-12-22 14:40:01 +01:00
Matthias Beyer d1848e9186 Add CLI spec 2017-12-22 14:40:01 +01:00
Matthias Beyer be79f6373e Import crate for imag-habit 2017-12-22 14:40:01 +01:00
Matthias Beyer 04d5af8d50 Switch to upstream rust-vobject 2017-11-09 11:21:17 +01:00
Matthias Beyer 521d661f1c Fix path 2017-11-09 11:21:17 +01:00
Matthias Beyer 00c73d53c7 Phone and email information is in the person table 2017-11-09 11:21:17 +01:00
Matthias Beyer c8a8bdcd22 Fix format and location of content 2017-11-09 11:21:17 +01:00
Matthias Beyer c90d0ab34a Fix UUID-Filename creating, add debug output 2017-11-09 11:21:17 +01:00
Matthias Beyer 296136fca5 Add tests 2017-11-09 11:21:17 +01:00
Matthias Beyer 524df37ca6 Add parsing of personal information: Birthday 2017-11-09 11:21:17 +01:00
Matthias Beyer 794efb0034 Outsource functional part for testability 2017-11-09 11:21:17 +01:00
Matthias Beyer e211aba341 Implement create subcommand
The complexity of the create() routine justifies the move to another file.

This commit implements the create() functionality which creates a TOML
tempfile which the user should edit and then reads the contents to build
the Vcard object which then gets written to either stdout or the
destination file.

Besides that:

* Move helper function to util module
* Rewrite and fix tests
2017-11-09 11:20:32 +01:00
Matthias Beyer ab8c8e4e41 Add new required dependencies 2017-11-09 11:19:17 +01:00
Matthias Beyer d0ec7e26dc Add implementation for imag-contact
* Implement contact listing with formatting via commandline or config
* Implement importer functionality for contact
* Implement "show" subcommand
* imagrc.toml: Add explanation which fns are supported in templates
2017-11-09 11:19:17 +01:00
Matthias Beyer 0540ae9392 Initial import of imag-contact 2017-11-09 11:15:04 +01:00
Matthias Beyer 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
Matthias Beyer 9308c05057 Replace uses of try!() macro with "?" operator 2017-10-31 15:04:50 +01:00
Matthias Beyer 1dda98e17e Replace uses of try!() macro with "?" operator 2017-10-31 15:04:50 +01:00
Matthias Beyer 246bf04dbf Replace uses of try!() macro with "?" operator 2017-10-31 15:04:50 +01:00
Matthias Beyer ee7b04dd42 Replace uses of try!() macro with "?" operator 2017-10-31 15:04:50 +01:00
Matthias Beyer a20871eb5e Add badges in Cargo.toml of all crates 2017-10-31 15:03:30 +01:00
Matthias Beyer 2855a89e24 Move verify implementation from Store to CLI interface 2017-10-31 13:11:34 +01:00
Matthias Beyer b237adfe19 Fix calls to Runtime::config() to use direct result 2017-10-31 09:25:14 +01:00
Matthias Beyer 36adac4a16 Add output about max internal links and max overall byte size 2017-10-16 14:43:21 +02:00
Matthias Beyer 6daeefa0d8 Show average link count in all entries 2017-10-16 14:43:21 +02:00
Matthias Beyer f9a56bee3f Add a few small diagnostics 2017-10-16 14:43:00 +02:00
Matthias Beyer ec78237198 Initial imag-diagnostics import 2017-10-16 14:43:00 +02:00
Matthias Beyer 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
Matthias Beyer 3487eb4c8a Remove override passing in imag binary command 2017-10-16 00:47:42 +02:00
Matthias Beyer 5917dade99 Fix missed version updates 2017-10-14 21:05:42 +02:00
Matthias Beyer 38494a31da Support deleting by partial hash 2017-10-14 14:05:56 +02:00
Matthias Beyer d37de44c94 Add RefStore::find_storeid_by_partial_hash() helper 2017-10-14 14:05:56 +02:00
Matthias Beyer 60f2a34074 Add debug output 2017-10-13 14:53:57 +02:00
Matthias Beyer da013d65dc Initial import for imag-annotate 2017-10-13 14:53:57 +02:00
Matthias Beyer 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
Matthias Beyer 663242db7e Update dependency: error-chain: 0.10 -> 0.11 2017-10-12 22:12:27 +02:00
Matthias Beyer 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
Matthias Beyer 815cde76d0 Rewrite .map_err_trace_exit().unwrap() with new helper fn 2017-10-12 20:15:46 +02:00
Matthias Beyer 013e82f04f Update dependency: filters: 0.1 -> 0.2 2017-10-12 19:48:01 +02:00
Matthias Beyer 67a127f700 Update dependency: itertools: 0.6 -> 0.7 2017-10-12 19:45:50 +02:00
Kai Sickeler 1f84643486 Dump all StoreIds
Add StoreId Dump changes
2017-10-09 12:18:27 +02:00
Matthias Beyer 969211174a Rewrite imag-view
The imag-view command was redesigned with this change. It now looks up
view-templates in the config and calls them with the "in" subcommand.

This way, an entry can be viewed with editor, browser or whatever one
likes.

Compiling markdown is not supported yet.
2017-10-08 15:08:27 +02:00
Matthias Beyer d9add138d2 Use positional argument for id 2017-10-08 13:02:56 +02:00
Matthias Beyer c5ad59e96f Initial import of imag-mv 2017-10-01 10:07:29 +02:00
Matthias Beyer 169107d569 Remove FoldResult 2017-09-30 10:45:10 +02:00
Matthias Beyer 643db0df3a Remove libimagcounter / imag-counter 2017-09-28 22:41:23 +02:00
Matthias Beyer 73f6016221 Update version strings: 0.4.0 -> 0.5.0 2017-09-24 13:05:01 +02:00
Matthias Beyer 61d472a8c7 Remove section build-dependencies 2017-09-24 12:05:32 +02:00