Commit graph

888 commits

Author SHA1 Message Date
9ced9008b5 Refactor imag-contact for new libimagentryref API 2018-02-19 12:15:40 +01:00
d3d6b80b8b Redesign of the CLI 2018-02-19 12:15:13 +01:00
b9d04730db Fix for broken pipe panics 2018-02-19 11:14:19 +01:00
e8f8969ded Fix broke pipe panics 2018-02-19 11:14:19 +01:00
36e511d39b Fix broken pipe panics 2018-02-19 11:14:19 +01:00
380aeccdc7 Fix broken pipe panics 2018-02-19 11:14:19 +01:00
125eebe1ce Fix broken pipe panic 2018-02-19 11:14:19 +01:00
fc0610b77f Fix broken pipe panic 2018-02-19 11:14:19 +01:00
872b300b9c Fix broken pipe panics 2018-02-19 11:14:19 +01:00
632d68e0e0 Fix broken pipe panic 2018-02-19 11:14:19 +01:00
09da5cc21e Fix for broken pipe panic 2018-02-19 11:14:19 +01:00
427ad89e55 Fix broken pipe panics 2018-02-19 11:14:19 +01:00
849229eec6 Fix broken pipe panics 2018-02-19 11:14:19 +01:00
e501f66dac Fix broken pipe panics 2018-02-19 11:14:19 +01:00
23e0f720e5 Fix broken pipe errors 2018-02-19 11:14:18 +01:00
876c1cb9af Fix broken pipe panics 2018-02-19 11:14:18 +01:00
5e78a43242 Fix for broken pipe panics 2018-02-19 11:14:18 +01:00
c2dfb2ef52 Refactor timetrack subcommands output for broken pipe errors 2018-02-19 11:14:18 +01:00
6a341d3723 Abstract exit code as a type 2018-02-19 11:14:18 +01:00
eb2f6fbbe2 Fix for broken pipe errors 2018-02-19 10:40:26 +01:00
013fc75d85 Fix output for broken pipe errors 2018-02-19 10:40:26 +01:00
88d21375b9 Refactor "imag store ids" command to not panic on broken pipe 2018-02-19 10:40:26 +01:00
2decc904aa Fix binary name 2018-02-18 20:04:22 +01:00
b586e13a98 Add timewarrior import script 2018-02-18 20:03:50 +01:00
10e7a82a45 Refactor imag-diary 2018-02-18 20:03:50 +01:00
b61547c2d1 Add debug output what is about to be done 2018-02-18 20:03:50 +01:00
3341e3640c
Merge pull request #1224 from matthiasbeyer/git-version-in-version
Git version in version
2018-02-18 20:03:09 +01:00
9469693763 Use new make_imag_version!() macro for building version string 2018-02-13 11:38:34 +01:00
94cad804e1 Use ErrFromStr convenience extension 2018-02-12 21:25:51 +01:00
6b0930adec Use ErrFromStr convenience extension 2018-02-12 21:25:33 +01:00
efdfb2a308 Fix imag-view for new error interface 2018-02-12 21:19:48 +01:00
63f2c70bed Fix imag-notes for new error interface 2018-02-12 21:19:48 +01:00
8128d3ade9 Fix imag-mail for new error interface 2018-02-12 21:19:48 +01:00
ee23f432de Fix imag-contact for new error interface 2018-02-12 21:19:48 +01:00
86abfb88a4 Fix imag-bookmark error handling 2018-02-12 21:19:48 +01:00
c0000b6410 Rewrite .map_err_trace_exit_unwrap()
Necessary because error types changed
2018-02-12 21:19:48 +01:00
50b0ffa6ae Remove calls to trace_error_exit() 2018-02-12 21:19:48 +01:00
3845399fb8 Simplify implementation for new libimagerror interface 2018-02-12 21:19:48 +01:00
ba1c6c06fa Add error chaining for compatibility with new libimagerror interface 2018-02-12 21:19:48 +01:00
1f4c0cafe4 Remove calls to trace_error_exit 2018-02-12 21:19:48 +01:00
a43232230b Fix error handling for new API 2018-02-12 21:19:48 +01:00
7892782675 Refactor error handling 2018-02-12 21:19:48 +01:00
b9800e19e9 Refactor imag-diary to use new error handling interface 2018-02-12 21:19:48 +01:00
77be32d80f Remove "get" iterator, store provides this now 2018-02-11 23:44:27 +01:00
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
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
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
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
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
30d2c28a22 Update version string: 0.6.0 -> 0.7.0 2018-02-11 14:22:24 +01:00
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
fa8af0c053
Merge pull request #1275 from matthiasbeyer/clap-features
Clap features
2018-02-11 13:29:17 +01:00
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
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
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
7bbc379b73
Merge pull request #1266 from matthiasbeyer/imag/list-commands-alphabetically
Sort commands alphabetically
2018-02-10 21:21:57 +01:00
faafe6e994
Merge pull request #1265 from matthiasbeyer/imag/help
Add subcommand "help"
2018-02-10 18:56:29 +01:00
3b098069c5 Fix: git dir is not worktree dir 2018-02-10 18:18:39 +01:00
9f48071e48 Do not print "Ok" after successful execution 2018-02-10 16:41:27 +01:00
ec2f3a73d7 Do not print stats when listing files with matches 2018-02-10 16:41:23 +01:00
2dfede240e Alias subcommand "show" to "list" 2018-02-10 16:41:20 +01:00
c17b256dfd Add subcommand "help" 2018-02-10 16:41:15 +01:00
45cec64575 Sort commands alphabetically 2018-02-10 16:40:53 +01:00
8656a38c50 Update dependency: clap: 2.17 -> 2.29 2018-02-10 16:40:34 +01:00
9d2900a7dc Compile clap with suggestions and color support 2018-02-10 16:40:34 +01:00
35bc1009f2 Revert "Fix include path for release"
This reverts commit c229d7d1fc.
2018-02-10 15:14:03 +01:00
c229d7d1fc Fix include path for release 2018-02-10 15:08:40 +01:00
3b710e082d Add missing Cargo.toml metadata 2018-02-10 14:11:46 +01:00
d5a9e4930d Update dates in license header
And add missing header in one file
2018-02-07 02:48:53 +01:00
1217d88a50 Fix links after moving entry 2018-02-06 23:37:21 +01:00
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
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
1b588172dd
Merge pull request #1255 from matthiasbeyer/imag-notes/fix-list
Fix imag-notes list errors
2018-02-06 21:45:37 +01:00
88b7b43d2c Do not put a leading space in the log 2018-02-06 20:54:11 +01:00
f44f13e23a Do not list entries which are not "log" entries 2018-02-06 20:48:47 +01:00
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
8cba4daf20 Print to stderr 2018-02-06 19:28:27 +01:00
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
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
e2e3b4f6e2 Update kairos dependency: 0.1.0-beta-2 -> 0.1.0 2018-02-05 16:20:05 +01:00
d1fc8c3995 Add second support in imag-diary commandline interface 2018-02-04 19:51:07 +01:00
ae4ced9587 Show content by default 2018-02-01 21:47:09 +01:00
8e931cd79f Change calls to into_get_iter() to not take argument 2018-02-01 16:46:38 +01:00
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
da4b823048
Merge pull request #1219 from matthiasbeyer/minor
Minor patches
2018-02-01 13:18:31 +01:00
4d94791b1f Move date <-> string conversion utility to libimagutil 2018-02-01 09:26:33 +01:00
30ef3bf0d3 Comment type fixed 2018-01-29 09:38:32 +01:00
7731b88c97 Remove map_err_trace_exit() calls in favour of map_err_trace_exit_unwrap() 2018-01-29 09:38:32 +01:00
82b67115e6 Refactor: Minify
Pull in new dependencies for minification
2018-01-29 09:38:32 +01:00
74f58d6c06 Remove unused imports 2018-01-29 09:38:32 +01:00
53bf1a513b Implement stopping all tags which are started 2018-01-28 20:51:20 +01:00
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
fcfc397fc8 env_logger: 0.5.0-rc.2 -> 0.5 2018-01-18 14:15:40 +01:00
45ac9b4132 Change list command to use a table for output 2018-01-16 14:48:48 +01:00
8d9c7dce4f env_logger: 0.5.0-rc.1 -> 0.5.0-rc.2 2018-01-15 11:22:09 +01:00
635d000344 log: 0.4.0-rc.1 -> 0.4.0 2018-01-15 11:21:52 +01:00
c45130ddd0 env_logger: 0.4.* -> 0.5.0-rc.1 2018-01-15 11:20:27 +01:00
f209e12410 Update dependency: log: 0.3.* -> 0.4.0-rc.1 2018-01-15 11:20:07 +01:00
5beadbbf5b Call default command if no command is passed 2018-01-13 14:36:31 +01:00
284f12e8cb Refactor: Split actual list implementation from argument processing 2018-01-13 14:36:31 +01:00
47e98675e7 imag-todo: Replace read with typed read 2018-01-13 01:14:03 +01:00
55d97e565d imag-log: Replace read with typed read 2018-01-13 01:14:03 +01:00
f0e8e89c15 imag-contact: Replace read with typed read 2018-01-13 01:14:03 +01:00
137680498c imag-bookmark: Replace read with typed read 2018-01-13 01:14:03 +01:00
0a78d43741 imag-view: Replace read with typed read 2018-01-13 01:14:03 +01:00
0c4be78223 Update dependency: toml-query -> 0.6 2018-01-13 01:14:03 +01:00
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
8d69e45c0e Add imag-edit command 2018-01-09 11:56:22 +01:00
15cc7d6805
Merge pull request #1210 from matthiasbeyer/imag-after-help
imag: Use App::after_help()
2018-01-08 23:30:51 +01:00
0c2308bd76 Use App::after_help() for printing runtime-generated help output 2018-01-08 16:55:07 +01:00
95e861b5ca Adapt for new API 2018-01-08 15:16:14 +01:00
5aeaacc317
Merge pull request #1190 from matthiasbeyer/imag-init/init
imag-init: initial import
2018-01-04 19:37:50 +01:00
38f8de15bf Revert "Integrate spinner for nicer progress reports"
This reverts commit de7a4d2dfb.
2018-01-04 12:10:07 +01:00
a6fd525c0f Add "show" functionality 2018-01-03 21:09:03 +01:00
3cf1fd0baf Add CLI implementation 2018-01-03 16:54:08 +01:00
7a364639ee Initial import: imag-log 2018-01-03 16:54:08 +01:00
de7a4d2dfb Integrate spinner for nicer progress reports 2018-01-03 16:00:46 +01:00
f324deb41e imag-init: initial import 2018-01-03 15:48:58 +01:00
774933ae4a
Merge pull request #1163 from matthiasbeyer/libimagstore/mighty-iters
libimagstore: More powerful iterator extensions
2017-12-25 22:02:56 +01:00
3c8dd19d11 Update version strings: 0.5.0 -> 0.6.0 2017-12-25 19:17:07 +01:00
d6e1994eeb Fix: Explicitely import only relevant trait 2017-12-24 13:52:50 +01:00
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
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
05a630f943 Change UI. Positional args are not possible here 2017-12-22 14:40:01 +01:00
6a7e7f0f12 Add functionality so we can create a habit with a due date 2017-12-22 14:40:01 +01:00
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
501f67dcf2 Add more output in today() 2017-12-22 14:40:01 +01:00
496850a762 Add future-check in CLI and fix for default command invokation 2017-12-22 14:40:01 +01:00
39a983f6fb Add more details to default command 2017-12-22 14:40:01 +01:00
7cf46f99d4 Add done functionality 2017-12-22 14:40:01 +01:00
b78095d8bc Impl delete() 2017-12-22 14:40:01 +01:00
ff39a450b1 Explicitely state that printing an empty table is forbidden 2017-12-22 14:40:01 +01:00
404d839310 Make "today" the default command 2017-12-22 14:40:01 +01:00
0fa1ae28f8 Let "today" command list upcoming habits 2017-12-22 14:40:01 +01:00
5574764d83 Add a subcommand to list habits due today 2017-12-22 14:40:01 +01:00
2520635cae Add support for listing the next date when the habit must be done 2017-12-22 14:40:01 +01:00
6e7414a2fd Implement show() 2017-12-22 14:40:01 +01:00
915b1325d2 Implement list() 2017-12-22 14:40:01 +01:00
528b30c1ff Implement create() 2017-12-22 14:40:01 +01:00
d1848e9186 Add CLI spec 2017-12-22 14:40:01 +01:00
be79f6373e Import crate for imag-habit 2017-12-22 14:40:01 +01:00
04d5af8d50 Switch to upstream rust-vobject 2017-11-09 11:21:17 +01:00
521d661f1c Fix path 2017-11-09 11:21:17 +01:00
00c73d53c7 Phone and email information is in the person table 2017-11-09 11:21:17 +01:00
c8a8bdcd22 Fix format and location of content 2017-11-09 11:21:17 +01:00
c90d0ab34a Fix UUID-Filename creating, add debug output 2017-11-09 11:21:17 +01:00
296136fca5 Add tests 2017-11-09 11:21:17 +01:00
524df37ca6 Add parsing of personal information: Birthday 2017-11-09 11:21:17 +01:00
794efb0034 Outsource functional part for testability 2017-11-09 11:21:17 +01:00
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
ab8c8e4e41 Add new required dependencies 2017-11-09 11:19:17 +01:00
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
0540ae9392 Initial import of imag-contact 2017-11-09 11:15:04 +01:00
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
9308c05057 Replace uses of try!() macro with "?" operator 2017-10-31 15:04:50 +01:00
1dda98e17e Replace uses of try!() macro with "?" operator 2017-10-31 15:04:50 +01:00
246bf04dbf Replace uses of try!() macro with "?" operator 2017-10-31 15:04:50 +01:00
ee7b04dd42 Replace uses of try!() macro with "?" operator 2017-10-31 15:04:50 +01:00
a20871eb5e Add badges in Cargo.toml of all crates 2017-10-31 15:03:30 +01:00
2855a89e24 Move verify implementation from Store to CLI interface 2017-10-31 13:11:34 +01:00
b237adfe19 Fix calls to Runtime::config() to use direct result 2017-10-31 09:25:14 +01:00
36adac4a16 Add output about max internal links and max overall byte size 2017-10-16 14:43:21 +02:00
6daeefa0d8 Show average link count in all entries 2017-10-16 14:43:21 +02:00
f9a56bee3f Add a few small diagnostics 2017-10-16 14:43:00 +02:00
ec78237198 Initial imag-diagnostics import 2017-10-16 14:43:00 +02:00
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
3487eb4c8a Remove override passing in imag binary command 2017-10-16 00:47:42 +02:00
5917dade99 Fix missed version updates 2017-10-14 21:05:42 +02:00
38494a31da Support deleting by partial hash 2017-10-14 14:05:56 +02:00
d37de44c94 Add RefStore::find_storeid_by_partial_hash() helper 2017-10-14 14:05:56 +02:00
60f2a34074 Add debug output 2017-10-13 14:53:57 +02:00
da013d65dc Initial import for imag-annotate 2017-10-13 14:53:57 +02:00
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
663242db7e Update dependency: error-chain: 0.10 -> 0.11 2017-10-12 22:12:27 +02:00
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
815cde76d0 Rewrite .map_err_trace_exit().unwrap() with new helper fn 2017-10-12 20:15:46 +02:00
013e82f04f Update dependency: filters: 0.1 -> 0.2 2017-10-12 19:48:01 +02:00
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
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
d9add138d2 Use positional argument for id 2017-10-08 13:02:56 +02:00
c5ad59e96f Initial import of imag-mv 2017-10-01 10:07:29 +02:00
169107d569 Remove FoldResult 2017-09-30 10:45:10 +02:00
643db0df3a Remove libimagcounter / imag-counter 2017-09-28 22:41:23 +02:00
73f6016221 Update version strings: 0.4.0 -> 0.5.0 2017-09-24 13:05:01 +02:00
61d472a8c7 Remove section build-dependencies 2017-09-24 12:05:32 +02:00
738b0ce4b9 Implement CLI 2017-09-22 14:37:03 +02:00
664d85c42f Add UI spec 2017-09-22 14:37:03 +02:00
fbbb26b737 Initial import 2017-09-21 19:01:36 +02:00
b431d0ee49 Merge pull request #1092 from matthiasbeyer/minor
Minor things
2017-09-20 19:24:44 +02:00
1e7e6ab601 Merge pull request #1090 from matthiasbeyer/imag-ref/positional-args
imag-ref: Use positional args
2017-09-20 18:39:06 +02:00
e000957722 Ensure that all arguments are passed to the subcommand 2017-09-20 17:13:04 +02:00
456c5539cc Use positional args 2017-09-20 16:44:39 +02:00
c3ad3a1256 Remove unused import 2017-09-20 12:05:44 +02:00
e986fbeabc Add debugging output 2017-09-20 12:05:44 +02:00
0da07a3387 Each test should use an other name for the file it creates 2017-09-20 12:05:44 +02:00
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
39b9c17a0c Add default entry by simply creating an empty Entry 2017-09-19 22:31:23 +02:00
a3d923ab20 Add default entry by simply creating an empty Entry 2017-09-19 22:31:23 +02:00
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
d56e086242 Remove shell code which is not used anymore 2017-09-18 14:21:48 +02:00
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
210688d913 Transform UI to use positional args 2017-09-17 08:30:00 +02:00
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
b853e35a05 Merge pull request #1071 from matthiasbeyer/imag-grep
imag-grep: Add new crate
2017-09-15 23:21:18 +02:00
d7d4d9fa7a Make default bookmark collection configurable via imagrc.toml 2017-09-15 21:46:15 +02:00
922ed445d4 imag-grep: Add new crate 2017-09-15 21:16:02 +02:00
1ffc45a4c0 Use positional args 2017-09-15 21:07:01 +02:00
2bbda59051 Refactor and simplify imag-notes binary 2017-09-15 13:53:16 +02:00
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
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
dc78c0e448 Change create() to check config and commandline whether entry should be created timed or not 2017-09-14 18:59:03 +02:00
dbf529e427 Add config parsing helpers 2017-09-14 18:58:40 +02:00
ea982204b9 Add new deps: toml, toml_query 2017-09-14 18:58:17 +02:00
dc263de947 Fix imag-link tests for new header location 2017-09-09 16:36:21 +02:00
c332bcb195 Implement aliases for imag binary 2017-09-08 17:08:14 +02:00
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
f86d02ecbb Adapt the cli-test for delete()
In the process fix the binary name.
2017-09-05 17:41:09 +02:00
861817a87f Adapt cli-test for create()
In the process fix the binary name.
2017-09-05 17:39:17 +02:00
7b1ffdfa4b Rewrite delete() to use positional arg 2017-09-05 17:36:32 +02:00
9e9c04e5f3 Rewrite update() to use positional arg 2017-09-05 17:36:32 +02:00
381223efd9 Rewrite get() to use positional arg 2017-09-05 17:36:32 +02:00
9dde4731f2 Rewrite retrieve() to use positional arg 2017-09-05 17:36:32 +02:00
a71732be49 Rewrite create() to use positional arg 2017-09-05 17:36:32 +02:00
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
6d1dab3117 Merge pull request #1029 from matthiasbeyer/all-extensions-as-traits
All extensions as traits
2017-09-04 21:59:54 +02:00
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
72ea21ee1f Rename module task -> taskstore 2017-09-04 09:20:14 +02:00
18e806f588 Remove dedicated result modules, use error chain generated Result types 2017-09-04 09:19:29 +02:00
46f769deb8 Add test for delete() 2017-09-03 22:08:06 +02:00
014daee93b Add test for create() 2017-09-03 22:00:34 +02:00
7ce44e8090 Remove "IntoError" trait, use error_chain functionality 2017-09-03 21:34:07 +02:00
2b845c773b imag-mail: Rewrite error handling 2017-09-03 21:33:54 +02:00
69b3fe52c6 imag-diary: Rewrite error handling 2017-09-03 21:33:54 +02:00
54219cb6fa imag-store: Rewrite error handling 2017-09-03 21:33:54 +02:00
603808a9fa Impl IntoError for error kinds 2017-09-03 15:42:06 +02:00
11d881d3a9 Add dependency to crates: error_chain = 0.10 2017-09-03 15:42:06 +02:00
e77d353c52 Rewrite macros to do error-chain behind the scenes 2017-09-03 15:42:03 +02:00
3a959ddfd1 Add multi-call tests: add-remove 2017-09-02 17:26:24 +02:00
e7ecea0065 Add test to check links from one entry to two others 2017-09-02 17:26:24 +02:00
d538d5fffe Adapt tests to new UI 2017-09-02 17:26:24 +02:00
2a20306099 Rewrite link listing to work with positional argument 2017-09-02 17:26:24 +02:00
46dcbb828e Rewrite UI to use positional arguments 2017-09-02 17:26:24 +02:00
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
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
26115bf7f8 Remove tagging functionality from imag-notes 2017-09-02 10:16:56 +02:00
b787ef1696 Move tagging UI code to binary 2017-09-02 10:16:56 +02:00
177e5bf762 Remove tagging support 2017-09-02 10:16:55 +02:00
048517a3c2 Fix readme links in cargo metadata 2017-09-01 18:48:02 +02:00
8071c4c721 Refactor, minify edit() impl 2017-09-01 11:04:07 +02:00
356c86fd51 Refactor, minify create() impl 2017-09-01 11:04:07 +02:00
7e7cf8ecf8 Refactor, minify delete() impl 2017-09-01 11:04:07 +02:00
21c15ca207 Adapt imag-diary to compile with the new libimagdiary API 2017-09-01 11:04:07 +02:00
7e4275c420 Remove unused crate import 2017-08-31 20:56:13 +02:00
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
9094c22abf Fix test helper function 2017-08-31 10:57:19 +02:00
1c079c9501 Import libimagutil properly 2017-08-31 10:57:19 +02:00
0732962b59 Fix unused macro_use import 2017-08-31 10:57:19 +02:00
bc74ea7e41 Fix copy-paste bug 2017-08-31 10:57:19 +02:00
00b8d5192c Remove unused variables 2017-08-31 10:57:19 +02:00
fabb990336 Remove unused imports 2017-08-31 10:57:19 +02:00
ac804bd839 Remove unused keyword "mut" where not needed 2017-08-31 10:57:11 +02:00
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
0e6599f192 Fix imag-ref 2017-08-28 14:55:33 +02:00
7ff3985eaf Fix imag-mail to use new Ref interface 2017-08-28 14:32:50 +02:00
9081a2d58d Fix libimag(entry)ref name 2017-08-27 18:57:59 +02:00
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
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
59a3662ac4 Reorganize code in subdirs 2017-08-27 15:12:09 +02:00
7b3bf3e31e Merge pull request #1021 from matthiasbeyer/bi-version-dependencies
Use cargo feature to specify both version and path
2017-08-27 13:16:54 +02:00
a4c2c04c61 Use cargo feature to specify both version and path
Thanks to reddit user /u/TimNN for suggesting this.
2017-08-27 11:25:43 +02:00
09fbf08747 Rewrite imag binary without parallelization stuff 2017-08-26 23:04:26 +02:00
1c37703c32 Update version strings for next release: 0.3.0 -> 0.4.0 2017-08-26 13:27:32 +02:00
1612764d77 Remove build.rs buildscript because wasnt working properly 2017-08-25 21:36:24 +02:00
9fa2be824f Remove safety check, error handling has that case already 2017-08-19 16:27:28 +01:00
795df63679 Add missing license headers 2017-06-07 20:45:38 +02:00
9650f46e23 Version strings: 0.2.0 -> 0.3.0 2017-05-03 10:48:26 +02:00
a0cdc53644 Fix build script once more 2017-01-25 10:43:37 +01:00
26d78e9f3c Fix build-script of imag-bin
There was a breaking change in cargo which is fixed by this commit
Affected: beta builds (as of writing of this commit).
2017-01-25 09:41:16 +01:00
1ab0249892 Remove removed crates from compl-gen build script 2017-01-24 04:31:22 +01:00
mario
8df5519f34 Move [profile.dev] codegen-units = 2 to top-level Cargo.toml
lower level (=package/crate level) definitions for profiles are ignored
2017-01-19 20:08:51 +01:00
mario
73b9aa6266 Add comment for &version!()[..] 2016-11-05 11:53:13 +01:00
mario
bb291ca1fa Add comments about functionality,
increase verbosity of some variables
2016-11-05 11:53:00 +01:00
mario
e652e944a8 Add build_subcommand! macro 2016-11-05 11:42:02 +01:00
mario
711810f814 Add additional dependencies 2016-11-05 11:42:02 +01:00
mario
2644739e35 Change from types implementing build_ui to a mod for every binary.
Works with all available binaries.
Code cleanup
2016-11-05 11:41:20 +01:00
mario
bf88a43a59 Add build.rs with basic idea 2016-11-05 11:38:55 +01:00
0a04081599 Merge pull request #656 from matthiasbeyer/cargo-rustc-codegen-units
Cargo rustc codegen units
2016-10-31 23:39:38 +01:00
ca89bc5962 bin/Cargo.toml: Update dependencies 2016-10-24 14:30:54 +02:00
3cb718f754 Add codegen-units = 2 in ./bin/Cargo.toml 2016-10-24 13:55:08 +02:00
b5bfc1978c Fix: Cargo.toml does not know "website", but "homepage" 2016-10-20 14:14:18 +02:00
14696b59e7 Add meta-info in bin/Cargo.toml 2016-10-18 10:56:12 +02:00
e0d4744b4b bin: Add copyright notice to all files 2016-10-01 17:35:06 +02:00
Mario Krehl
6fe4408800 Reduce clone()-ing of commands to necessary places 2016-09-07 12:57:34 +02:00
Mario Krehl
e2d3e5597b Fix differing amount of newlines from subprocesses influences output 2016-09-07 12:53:38 +02:00
Mario Krehl
e813ab9e3a Pretty output of --versions 2016-09-07 11:24:36 +02:00
Mario Krehl
12f9175700 Fix --versions 2016-09-07 11:14:08 +02:00
Mario Krehl
d69b8498e9 Add some comments 2016-09-07 11:07:02 +02:00
Mario Krehl
c828bed0e1 Fix panic! when reaching unreachable!, because imag doesnt do anything without an argument or subcommand 2016-09-07 10:37:16 +02:00
Mario Krehl
7023d1f202 Add check if given subcommand is supported 2016-09-07 10:31:00 +02:00
Mario Krehl
e6d48cb31a Fix exit codes 2016-09-07 10:22:08 +02:00
Mario Krehl
5ea5f588a9 Fix panics due to unwrap on Option::None 2016-09-07 10:21:59 +02:00
mario
d19243e7a8 Fall back to get_default_cli_builder
insert custom help text
cleanup not anymore used code
2016-09-05 16:18:11 +02:00
mario
882b2ef5a7 Add help_text()
Replaces the help() functions with help_text(), which returns the help_text of imag.
Use the .help() function of clap::App to overwrite the help text generated by clap
Remove unneeded argument '--help', generated by clap now
2016-09-05 16:18:11 +02:00
mario
1900d6922c Fix clap for external subcommands 2016-09-05 16:18:11 +02:00
Mario Krehl
a740dcd7ba Change build_ui to use subcommands() 2016-09-05 16:18:11 +02:00
352d7e9083 Add some debugging output 2016-09-05 16:18:11 +02:00
389c5b9033 We do not need to pass the subcommand as arg here 2016-09-05 16:18:11 +02:00
ac7fb19040 Use libimagrt::setup::generate_runtime_setup() helper to build Runtime object 2016-09-05 16:18:11 +02:00
c4c726a983 Add dep: log = 0.3 2016-09-05 16:18:11 +02:00
58b2597bcb Enable forwarding of args and subcommands 2016-09-05 16:18:11 +02:00
58fd2dbfe4 Shrink App setup code 2016-09-05 16:18:11 +02:00
fa379a2fa7 Only return subcommand name 2016-09-05 16:18:11 +02:00
cd70c68a01 Add support for --help and -h 2016-09-05 16:18:11 +02:00
ecbbc3dfc1 Rewrite imag binary 2016-09-05 16:18:11 +02:00
6909410a43 Add dependency: libimagrt 2016-09-05 16:18:11 +02:00
73f9f2d36f Add dependency: clap 2016-09-05 16:18:11 +02:00
67d536fa74 Merge pull request #567 from matthiasbeyer/bin/imag-seperator-remove
Remove dash from command listing
2016-07-26 13:18:32 +02:00
LeRoyce Pearson
06c344c9d0 Debug flag is now inserted at the beginning of the arguments. 2016-07-21 22:26:22 +00:00
geemili
d60c558cda Pulled out lambda and made "--debug" constant 2016-07-21 17:08:11 -05:00
c453647813 Remove dash from command listing
With this patch, we list "imag counter" instead of "imag-counter" in the
help output.
2016-07-21 13:41:11 +02:00
geemili
d838a5c6b0 Actually fixed double debug flag this time 2016-07-19 14:29:23 -05:00
geemili
7702cac8fc Fixed compile errors 2016-07-19 14:25:09 -05:00
geemili
805ff69e2b Fixed debug appearing twice 2016-07-19 14:11:36 -05:00
LeRoyce Pearson
b12dbcd75e Fixed compilation errors 2016-07-19 18:57:49 +00:00
geemili
182479d7af Added in debug flag forwarding 2016-07-19 13:43:48 -05:00
geemili
3e7d921413 Fixed bug where flags would not be read 2016-07-19 13:38:52 -05:00
9337a14cdd Update all version strings: 0.1.0 -> 0.2.0 2016-07-12 11:51:20 +02:00
mario
04fff6070d changed from path().starts_with(PATH/imag-) to path.filename().starts_with(imag-) for simplicity. Also filtered out the command name for displaying 2016-07-04 17:41:38 +02:00
eca41e04dd Add argument finder helper function 2016-05-13 14:41:19 +02:00
580c9e5286 Add command finder helper function 2016-05-13 14:41:11 +02:00
27124c2a83 Rewrite imag binary in Rust 2016-05-13 14:23:05 +02:00
e3f8930c62 Add ascii-art logo 2016-02-01 22:36:46 +01:00
fe7ed7c64d Add possibility to list all versions 2016-01-31 13:44:48 +01:00
60d680b881 Add main imag binary 2016-01-29 22:57:36 +01:00