Commit Graph

337 Commits

Author SHA1 Message Date
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
Matthias Beyer 738b0ce4b9 Implement CLI 2017-09-22 14:37:03 +02:00
Matthias Beyer 664d85c42f Add UI spec 2017-09-22 14:37:03 +02:00
Matthias Beyer fbbb26b737 Initial import 2017-09-21 19:01:36 +02:00
Matthias Beyer b431d0ee49 Merge pull request #1092 from matthiasbeyer/minor
Minor things
2017-09-20 19:24:44 +02:00
Matthias Beyer 1e7e6ab601 Merge pull request #1090 from matthiasbeyer/imag-ref/positional-args
imag-ref: Use positional args
2017-09-20 18:39:06 +02:00
Matthias Beyer e000957722 Ensure that all arguments are passed to the subcommand 2017-09-20 17:13:04 +02:00
Matthias Beyer 456c5539cc Use positional args 2017-09-20 16:44:39 +02:00
Matthias Beyer c3ad3a1256 Remove unused import 2017-09-20 12:05:44 +02:00
Matthias Beyer e986fbeabc Add debugging output 2017-09-20 12:05:44 +02:00
Matthias Beyer 0da07a3387 Each test should use an other name for the file it creates 2017-09-20 12:05:44 +02:00
Matthias Beyer 8ddb0f6c24 Do not use "imag" namespace in header
This change switches the header location for the tagging information
from "imag.tags" to "tag.values". "tags" is not used because non-tables
are not allowed at the top level of the header.

Tests are adapted.
2017-09-20 09:24:46 +02:00
Matthias Beyer 39b9c17a0c Add default entry by simply creating an empty Entry 2017-09-19 22:31:23 +02:00
Matthias Beyer a3d923ab20 Add default entry by simply creating an empty Entry 2017-09-19 22:31:23 +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 d56e086242 Remove shell code which is not used anymore 2017-09-18 14:21:48 +02:00
Matthias Beyer d97b77c30c Merge pull request #1078 from matthiasbeyer/imag-tag/positional-args
Transform UI to use positional args
2017-09-17 09:48:30 +02:00
Matthias Beyer 210688d913 Transform UI to use positional args 2017-09-17 08:30:00 +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 b853e35a05 Merge pull request #1071 from matthiasbeyer/imag-grep
imag-grep: Add new crate
2017-09-15 23:21:18 +02:00
Matthias Beyer d7d4d9fa7a Make default bookmark collection configurable via imagrc.toml 2017-09-15 21:46:15 +02:00
Matthias Beyer 922ed445d4 imag-grep: Add new crate 2017-09-15 21:16:02 +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 dc263de947 Fix imag-link tests for new header location 2017-09-09 16:36:21 +02:00
Matthias Beyer c332bcb195 Implement aliases for imag binary 2017-09-08 17:08:14 +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 f86d02ecbb Adapt the cli-test for delete()
In the process fix the binary name.
2017-09-05 17:41:09 +02:00
Matthias Beyer 861817a87f Adapt cli-test for create()
In the process fix the binary name.
2017-09-05 17:39:17 +02:00
Matthias Beyer 7b1ffdfa4b Rewrite delete() to use positional arg 2017-09-05 17:36:32 +02:00
Matthias Beyer 9e9c04e5f3 Rewrite update() to use positional arg 2017-09-05 17:36:32 +02:00
Matthias Beyer 381223efd9 Rewrite get() to use positional arg 2017-09-05 17:36:32 +02:00
Matthias Beyer 9dde4731f2 Rewrite retrieve() to use positional arg 2017-09-05 17:36:32 +02:00
Matthias Beyer a71732be49 Rewrite create() to use positional arg 2017-09-05 17:36: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 46f769deb8 Add test for delete() 2017-09-03 22:08:06 +02:00
Matthias Beyer 014daee93b Add test for create() 2017-09-03 22:00:34 +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
Matthias Beyer 54219cb6fa imag-store: Rewrite error handling 2017-09-03 21:33:54 +02:00
Matthias Beyer 603808a9fa Impl IntoError for error kinds 2017-09-03 15:42:06 +02:00
Matthias Beyer 11d881d3a9 Add dependency to crates: error_chain = 0.10 2017-09-03 15:42:06 +02:00
Matthias Beyer e77d353c52 Rewrite macros to do error-chain behind the scenes 2017-09-03 15:42:03 +02:00
Matthias Beyer 3a959ddfd1 Add multi-call tests: add-remove 2017-09-02 17:26:24 +02:00
Matthias Beyer e7ecea0065 Add test to check links from one entry to two others 2017-09-02 17:26:24 +02:00
Matthias Beyer d538d5fffe Adapt tests to new UI 2017-09-02 17:26:24 +02:00
Matthias Beyer 2a20306099 Rewrite link listing to work with positional argument 2017-09-02 17:26:24 +02:00
Matthias Beyer 46dcbb828e Rewrite UI to use positional arguments 2017-09-02 17:26:24 +02:00
Matthias Beyer 5626a365c6 Merge pull request #1044 from matthiasbeyer/libimagrt/feature-testing
Add store extraction to Runtime
2017-09-02 17:25:13 +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
Matthias Beyer b55f46764f Fix dependency spec: libimagrt must be used with "testing" enabled for tests 2017-09-02 14:04:47 +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 b787ef1696 Move tagging UI code to binary 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