Commit Graph

328 Commits

Author SHA1 Message Date
Matthias Beyer ba1c6c06fa Add error chaining for compatibility with new libimagerror interface 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 30d2c28a22 Update version string: 0.6.0 -> 0.7.0 2018-02-11 14:22:24 +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 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 9f48071e48 Do not print "Ok" after successful execution 2018-02-10 16:41:27 +01:00
Matthias Beyer 2dfede240e Alias subcommand "show" to "list" 2018-02-10 16:41:20 +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 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 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 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 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 45ac9b4132 Change list command to use a table for output 2018-01-16 14:48:48 +01:00
Matthias Beyer 635d000344 log: 0.4.0-rc.1 -> 0.4.0 2018-01-15 11:21:52 +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 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 95e861b5ca Adapt for new API 2018-01-08 15:16:14 +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 3c8dd19d11 Update version strings: 0.5.0 -> 0.6.0 2017-12-25 19:17:07 +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 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 a20871eb5e Add badges in Cargo.toml of all crates 2017-10-31 15:03:30 +01:00
Matthias Beyer b237adfe19 Fix calls to Runtime::config() to use direct result 2017-10-31 09:25:14 +01: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 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
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 162b36d6ee Update dependency specs
Most notably:

* env_logger: 0.4 -> 0.5
* hoedown: 5.0.0 -> 6.0.0
* itertools: 0.5 -> 0.6
* lazy_static: 0.1.15 -> 0.2
* regex: 0.1 -> 0.2
* semver: 0.5 -> 0.8
* url: 1.2 -> 1.5
* uuid: 0.3 -> 0.5

(This list is most surely not complete)
2017-09-19 17:16:19 +02:00
Matthias Beyer 26a0038ac2 Merge pull request #1073 from matthiasbeyer/imag-bookmark/configurable
Make default bookmark collection configurable via imagrc.toml
2017-09-16 09:52:08 +02:00
Matthias Beyer d7d4d9fa7a Make default bookmark collection configurable via imagrc.toml 2017-09-15 21:46:15 +02:00
Matthias Beyer 1ffc45a4c0 Use positional args 2017-09-15 21:07:01 +02:00
Matthias Beyer 2bbda59051 Refactor and simplify imag-notes binary 2017-09-15 13:53:16 +02:00
Matthias Beyer 2f0fa2b6ca Merge pull request #1068 from matthiasbeyer/imag-timetrack/fix-track-command
Fix: Let the track command parse the start/end time more intelligently
2017-09-15 12:38:42 +02:00
Matthias Beyer e049559bed Fix: Let the track command parse the start/end time more intelligently
It understands "now" from this point and can parse dates or date-times
(whereas dates get normalized to date + hour 0, minute 0, second 0).
2017-09-14 20:49:10 +02:00
Matthias Beyer dc78c0e448 Change create() to check config and commandline whether entry should be created timed or not 2017-09-14 18:59:03 +02:00
Matthias Beyer dbf529e427 Add config parsing helpers 2017-09-14 18:58:40 +02:00
Matthias Beyer ea982204b9 Add new deps: toml, toml_query 2017-09-14 18:58:17 +02:00
Matthias Beyer 976f280511 Update toml-query: 0.3.* -> ^0.3.1
This release contains a bugfix for a critical bug in the
`TomlValueInsertExt::insert()` algorithm which was triggered by an
edgecase.
2017-09-06 19:30:32 +02:00
Matthias Beyer c115215fa4 Merge branch 'master' into libimagerror/integration
This merge solved a _LOT_ of conflicts and was a rather complicated one,
as parts of the conflict-resolution involved rewriting of half the
stuff.

This merge commit fixes all the things so a `cargo check --all`
succeeds, but I did not yet check whether tests run without failure.
2017-09-04 23:02:45 +02:00
Matthias Beyer 6d1dab3117 Merge pull request #1029 from matthiasbeyer/all-extensions-as-traits
All extensions as traits
2017-09-04 21:59:54 +02:00
Matthias Beyer 51650bf043 Small embellishments
Fix false documentation, make warn!() into error!() and provide more
information in the logged message.
2017-09-04 16:24:50 +02:00
Matthias Beyer 72ea21ee1f Rename module task -> taskstore 2017-09-04 09:20:14 +02:00
Matthias Beyer 18e806f588 Remove dedicated result modules, use error chain generated Result types 2017-09-04 09:19:29 +02:00
Matthias Beyer 7ce44e8090 Remove "IntoError" trait, use error_chain functionality 2017-09-03 21:34:07 +02:00
Matthias Beyer 2b845c773b imag-mail: Rewrite error handling 2017-09-03 21:33:54 +02:00
Matthias Beyer 69b3fe52c6 imag-diary: Rewrite error handling 2017-09-03 21:33:54 +02:00
Mario Krehl 0f317858e2 Refactor imag-todo to work with the TaskStore trait instead of Task 2017-09-02 16:12:12 +02:00
Mario Krehl ef92acb1b0 Refactor imag-todo to work with the changes in libimagtodo 2017-09-02 13:29:49 +02:00
Matthias Beyer 26115bf7f8 Remove tagging functionality from imag-notes 2017-09-02 10:16:56 +02:00
Matthias Beyer 177e5bf762 Remove tagging support 2017-09-02 10:16:55 +02:00
Matthias Beyer 048517a3c2 Fix readme links in cargo metadata 2017-09-01 18:48:02 +02:00
Matthias Beyer 8071c4c721 Refactor, minify edit() impl 2017-09-01 11:04:07 +02:00
Matthias Beyer 356c86fd51 Refactor, minify create() impl 2017-09-01 11:04:07 +02:00
Matthias Beyer 7e7cf8ecf8 Refactor, minify delete() impl 2017-09-01 11:04:07 +02:00
Matthias Beyer 21c15ca207 Adapt imag-diary to compile with the new libimagdiary API 2017-09-01 11:04:07 +02:00
Matthias Beyer 7e4275c420 Remove unused crate import 2017-08-31 20:56:13 +02:00
Matthias Beyer 9a9a3f2f43 Merge branch 'libimagstore/remove-unused' into integrate-remove-unused
The merge conflicts which were resolved may roll back some changes from
the merged branch (unknowingly).

These will be fixed in the next commits
2017-08-31 20:56:08 +02:00
Matthias Beyer bc74ea7e41 Fix copy-paste bug 2017-08-31 10:57:19 +02:00
Matthias Beyer 00b8d5192c Remove unused variables 2017-08-31 10:57:19 +02:00
Matthias Beyer fabb990336 Remove unused imports 2017-08-31 10:57:19 +02:00
Matthias Beyer ae5255c7c7 Remove unused crate imports
This patch removes unused crate imports reported by newer rust versions.

Some crates were only required for tests, some only for tests with
macro_import - these things were fixed with feature gates.
2017-08-31 10:56:15 +02:00
Matthias Beyer 7ff3985eaf Fix imag-mail to use new Ref interface 2017-08-28 14:32:50 +02:00
Matthias Beyer 9081a2d58d Fix libimag(entry)ref name 2017-08-27 18:57:59 +02:00
Matthias Beyer ef93cf0243 libimagentrytimetrack -> libimagtimetrack
This is actually a domain library and thus should be put into the
lib/domain/ folder.
2017-08-27 18:23:47 +02:00
Matthias Beyer 2fcead5f53 Fix broken README symlinks
Along: Add files in documentation for modules that not yet had one.
2017-08-27 15:13:25 +02:00
Mario Krehl 8a63815854 Fix package name of libimagentryannotation
Fix: run `sed -i 's,libimagref,libimagentryref,g' (rg -l 'libimagref')`
Fix: run `sed -i 's,libimagannotation,libimagentryannotation,g' (rg -l 'libimagannotation')`
2017-08-27 15:13:25 +02:00
Matthias Beyer 59a3662ac4 Reorganize code in subdirs 2017-08-27 15:12:09 +02:00