Commit graph

419 commits

Author SHA1 Message Date
642702b724 Rewrite: StoreId::new_baseless() -> StoreId::new()
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-02-15 20:53:28 +01:00
90eaeb642a Remove magic constants in trace_unwrap_exit/map_err_trace_exit_unwrap calls
This patch removes the magic constant we used when calling
`trace_unwrap_exit()` or `map_err_trace_exit_unwrap()`.
We used to call it with `1` as parameter, where the number was the exit
code to use. Now the implementation of the function does it
automatically (using 1 (one) as exit code).

All calls of these functions were fixed. Thanks to vim this was easy.

Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-02-11 03:52:04 +01:00
f1a639ea8c Change id reporting API to return ExitCode
Because this API only errors when write!() errors occur, we can return
the exit code as an error here.

This way the user of the API can immediately exit if there was an IO
error, but the API automatically takes care of the right return value,
returning (exiting) with zero (0) if there was an "Broken pipe" error
and with one (1) otherwise, which is the expected behaviour here.

All calls to that API were changed accordingly.

Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-02-11 03:22:56 +01:00
03e0864268 Merge branch 'unnamed-annotations' into master-ff
This merge adds several patches to improve libimagannotation and
imag-annotate.
2019-02-10 17:07:35 +01:00
53022443ab Rewrite iteration
This patch rewrites how imag-annotate iterates over the ids to process
to be more easily to understand.

Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-02-10 01:00:38 +01:00
d8cd10a384 Remove iterator types
With this patch, libimagentryannotation does not have special iterator
types anymore. This makes the whole thing more comfortable to use.

In imag-annotate, the parameter for the functioncall was removed.

Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-02-10 01:00:33 +01:00
c84258da3d Add flag to not print name of annotation
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-02-10 00:58:21 +01:00
ab5078f111 Rewrite "add annotation" command
Because before we created a new annotation for each ID to be annotated,
which is not the expected behaviour.

Now we create one annotation object and then link it to all IDs which
are provided on the commandline.

Also, the annotation name is printed.

Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-02-10 00:58:21 +01:00
e4ef6f0649 Remove log-destination-override features
This removes the feature to be able to override log destinations from
the commandline.

This feature is removed because the --override-config feature from the
runtime already contains this functionality. It is a little more complex
to use, though this is a feature hardly used at all, so I rather go for
less code (less complexity) here than feature bloat.

Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-02-05 01:03:39 +01:00
4c0baa58f4 Add argument forwarding for --ignore-ids
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-02-05 00:59:30 +01:00
9185abcfa5 Update copyright years
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-01-03 18:41:36 +01:00
9fca66aa89 Forbid unsafe code in all crates 2018-11-11 13:05:55 +01:00
4e516ee19d Update version strings
...for the next release, which will be imag 0.10.0!

Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2018-11-10 11:56:37 +01:00
17d4123898 Update dependencies from git versions to proper versions.
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2018-11-09 22:14:11 +01:00
345970d36b Import new dependencies
Because of the changes in the "src/ui.rs" files in the binary
implementations, we have new dependencies we need to import into the
build-script of the "imag" command, so that it can build the
commandline.

Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2018-11-06 20:35:18 +01:00
f20298cbe8 Add ID reporting in imag-store 2018-11-06 20:35:18 +01:00
c616a5cfaf Add ID reporting in imag-ref 2018-11-06 20:35:18 +01:00
96ad41ea4c Add ID reporting in imag-mv 2018-11-06 20:35:18 +01:00
1e6d58bf4c Add ID reporting in imag-view 2018-11-06 20:33:30 +01:00
d3400167df Add ID reporting in imag-tag 2018-11-06 20:33:30 +01:00
aef969f8bb Add ID reporting in imag-link 2018-11-06 20:33:30 +01:00
4e5315b0e5 Add ID reporting in imag-grep 2018-11-06 20:33:30 +01:00
ff809a3750 Add ID reporting in imag-gps 2018-11-06 20:33:30 +01:00
3a6443b3ef Add ID reporting in imag-ids
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2018-11-06 20:33:30 +01:00
274811243f Move imag-view to ID provider infrastructure 2018-11-06 20:33:30 +01:00
f83d72033f Move imag-tag to ID provider infrastructure 2018-11-06 20:33:30 +01:00
527e0310ae Move imag-link to ID provider infrastructure 2018-11-06 20:33:30 +01:00
4856541f5a Move imag-gps to ID provider infrastructure 2018-11-06 20:33:30 +01:00
70014e04b1 Move imag-ids to ID provider infrastructure 2018-11-06 20:33:30 +01:00
a805db2a88 Move imag-edit to ID provider infrastructure 2018-11-06 20:33:30 +01:00
30036d5628 Move imag-category to ID provider infrastructure 2018-11-06 20:33:30 +01:00
01de94a387 Move imag-annotate to ID provider infrastructure 2018-11-06 20:33:30 +01:00
1347784898 Merge branch 'safe-output'
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2018-11-01 21:22:26 +01:00
3bf3a8890b Add debugging output in test via logger 2018-11-01 20:36:46 +01:00
089d5b98cb Use error output from runtime to print error 2018-11-01 20:36:34 +01:00
afeb4031ac Use runtime provided error stream
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2018-11-01 20:34:58 +01:00
8223f846b4 Use new "ask" function interface with input/output stream params
In the imag-contact crate we had to rewrite the ask_continue!{} macro
as a function for less headache, but besides that this is a rather
straight-forward patch for adapting to the new interface.

Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2018-11-01 20:33:24 +01:00
32f38945f0 Fix tests: Do not pass "internal", subcommand does not exist anymore 2018-11-01 13:15:19 +01:00
e39bd7fc72 Merge branch 'fix-flag-forwarding'
Conflicts were handled manually.

Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2018-11-01 00:09:54 +01:00
25ee6f2ce4 Fix: Forward flags as well
This is a bugfix. The old implementation did not forward simple
commandline flags (as in `--debug`, arguments with no value) because it
only used `ArgMatches::value_of()`. But if there is no value, the method
returns `None` and the flag is not forwarded.

This patch fixes that issue.

Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2018-10-31 23:12:35 +01:00
c4c52e43a6 Add some debugging output 2018-10-31 23:11:06 +01:00
e4ffeddf85 Use libimagrt logging
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2018-10-31 23:10:26 +01:00
21927d4225 imag build script: Update available commands 2018-10-31 17:15:29 +01:00
c1bc5d4bf6 imag-view: Move from error-chain to failure
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2018-10-30 18:46:29 +01:00
73362c6de3 imag-link: Move from error-chain to failure
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2018-10-30 18:46:29 +01:00
11abf55a0f imag-annotate: Move from error-chain to failure
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2018-10-30 18:46:29 +01:00
6d8bac314c imag-tag: Move from error-chain to failure
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2018-10-30 18:46:29 +01:00
e3911d97d9 imag-store: Move from error-chain to failure
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2018-10-30 18:46:29 +01:00
3272dbfd74 imag-mv: Move from error-chain to failure
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2018-10-30 18:46:29 +01:00
8114c5976c imag-diagnostics: Move from error-chain to failure
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2018-10-30 18:46:29 +01:00
279751b99c imag-ids: Move from error-chain to failure
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2018-10-30 18:46:29 +01:00
3cfe5f217c imag-gps: Move from error-chain to failure
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2018-10-30 18:46:29 +01:00
12644f22d9 imag-category: Move from error-chain to failure
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2018-10-30 18:46:29 +01:00
79b996f0ad imag: Move from error-chain to failure
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2018-10-30 18:46:29 +01:00
f970fc987f Update about-text in imag-tag
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2018-10-17 11:37:24 +02:00
5b4715b311 Update about-text in imag-link
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2018-10-17 11:37:24 +02:00
0d103653ea Update about-text in imag-ids
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2018-10-17 11:37:24 +02:00
325c5ddbd0 Fix: URL in imag helptext
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2018-10-17 11:37:24 +02:00
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
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
51730eed89 Update dependency: tempfile: 2 -> 3 2018-10-06 12:21:20 +02:00
502889b9a2 Update dependency: prettytable: 0.6 -> 0.8 2018-10-06 12:21:20 +02:00
f2de746293 Update dependency: regex: 0.2 -> 1 2018-10-06 12:21:20 +02:00
2077980f22 Update dependencies: log: 0.3 -> 0.4 2018-10-06 12:21:20 +02:00
3e4fcb19bb Update dependencies: log: 0.3 -> 0.4, version: 2 -> 3 2018-10-06 12:21:20 +02:00
3b0b9c8d7b Update dependency: walkdir 1 -> 2 2018-09-30 15:04:29 +02:00
e838f0d0e7 Update dependency: handlebars: 0.29.0 -> 1.0 2018-09-27 15:05:45 +02:00
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
abf6a3c384 Update dependency: handlebars: 0.29.0 -> 1.0 2018-09-27 15:05:45 +02:00
3d12998603 Update dependency: toml-query: 0.6 -> 0.7 2018-09-27 15:05:44 +02:00
0a7afee454 Update dependency: error-chain: 0.11 -> 0.12 2018-09-27 15:05:25 +02:00
c791977aab
Merge pull request #1506 from matthiasbeyer/minor
Minor
2018-09-27 09:53:31 +02:00
6f768fe4ad Add a progressbar to the command
Note: characters in config have to be escaped.
2018-09-27 07:40:10 +02:00
430186799b Remove store flush caching as it is not necessary anymore 2018-09-27 07:31:47 +02:00
ab32f21333 Fix: Binary name
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2018-08-26 04:24:57 +02:00
6e56f469ae More verbose erroring in test 2018-08-26 04:24:57 +02:00
f6a7345b4a Simplify: Move header verification from Value extension to Entry type 2018-07-19 20:58:27 +02:00
664edc7943 Update version string: 0.8.0 -> 0.9.0 2018-05-09 11:39:33 +02:00
61d0136c26 imag-category: Initial import 2018-05-04 11:09:20 +02:00
846de028cf Add trace output in filtering process 2018-05-02 20:42:56 +02:00
191f049ea8 Add language documentation in commandline help 2018-05-02 20:42:56 +02:00
f618026305 Add store cache flushing after each 100st entry 2018-05-02 20:42:56 +02:00
c27349e94f Implement header filter language 2018-05-02 20:42:56 +02:00
f4e1c0864c Implement 'where' subcommand 2018-05-02 20:42:56 +02:00
d518322401 Add notes how the filter language should look like 2018-05-02 20:42:56 +02:00
74c982984c Move collection filter to new module 2018-05-02 20:42:56 +02:00
eb20a9d881
Merge pull request #1477 from matthiasbeyer/libimagstore/remove-walk
Remove Store::walk()
2018-05-02 18:39:11 +02:00
0dbef993c1 Adapt "imag store verify" implementation for removed Store::walk() 2018-05-02 17:46:45 +02:00
be62843608 Fix description 2018-05-01 22:29:46 +02:00
829e425c12 Refactor imag-view to new store iterator interface 2018-05-01 17:44:05 +02:00
a9d0f3d53a Refactor imag-edit to new store iterator interface 2018-05-01 17:44:01 +02:00
dd453659ed Refactor imag-mv to fit new store iterator interface 2018-05-01 17:44:01 +02:00
eaf8148cda Refactor imag-ids to fit new store iterator interface 2018-05-01 17:44:01 +02:00
40a04376ed Refactor imag-link to fit new store iterator interface 2018-05-01 17:44:01 +02:00
d45eef299e
Merge pull request #1476 from matthiasbeyer/imag-diagnostics/refactor
Minify code with helper macro
2018-04-30 21:49:24 +02:00
004faaa905 Performe cache flushing during aggregation 2018-04-30 18:40:19 +02:00
b713718693 Minify code with helper macro 2018-04-30 14:15:34 +02:00
6d21d8eb49 Update dependency: filters: 0.2 -> 0.3 2018-04-29 10:46:36 +02:00
dbb39475d9 Upgrade variables to 64 bit 2018-04-28 23:27:12 +02:00
f493b4b8c3 Fix: Allow second to be missing 2018-04-28 23:18:02 +02:00
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
95a4816604 Implement imag-view argument to put seperator between shown entries 2018-04-24 22:49:53 +02:00
be74afd031 Remove "dump" subcommand 2018-04-24 22:16:40 +02:00
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
653db333e6 Fix imag-view for new view_entry() interface 2018-04-24 16:46:23 +02:00
8a5abb22f4 Generate completion for imag-git 2018-04-24 13:56:11 +02:00
055a55c9f0 Add imag-git command 2018-04-24 13:56:11 +02:00
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
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
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
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
a343a2ab90 Do not use version crate in build script 2018-04-22 11:09:31 +02:00
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
ca5e150f3a
Merge pull request #1421 from matthiasbeyer/imag-view/wrapping
imag-view: wrapping
2018-04-20 09:24:14 +02:00
e820f8bfb2 Add functionality to read storeids from stdin 2018-04-19 22:08:34 +02:00
36bc517524 Add support for tagging/untagging multiple entries with one call 2018-04-19 22:08:34 +02:00
e80bf7b57d Add feature for wrapping output 2018-04-19 21:55:27 +02:00
d2dceb6640 Update version numbers: 0.7.0 -> 0.8.0 2018-04-19 10:05:53 +02:00
0d31ee7efd Update dependencies: Add version 2018-04-19 09:57:36 +02:00
e29bbdb98d Fix: Make error message more explanatory 2018-04-18 17:41:34 +02:00
4568b1f625
Merge pull request #1380 from matthiasbeyer/minor
Minor patches
2018-04-18 16:46:41 +02:00
98f8366e4c Fix documentation in crate metadata 2018-04-17 15:55:08 +02:00
90593e2d93 Update dependency: toml-query: 0.4 -> 0.6 2018-04-15 09:15:24 +02:00
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
51b9b5c0db Fix: Use qualification 2018-04-14 00:58:40 +02:00
f6f1c23456 Add lints 2018-04-14 00:39:43 +02:00
461d59fcb0 Add lints 2018-04-14 00:39:43 +02:00
76c8443e50
Merge pull request #1395 from matthiasbeyer/clap-text-wrap
Clap text wrap
2018-04-13 22:46:09 +02:00
aeec10bf76 Use clap with wrap_help feature 2018-04-13 16:19:10 +02:00
b59c234588 Use clap "^2.29" instead of ">=2.29" 2018-04-13 16:17:43 +02:00
17ff619ca5
Merge pull request #1391 from matthiasbeyer/imag-grep/fix-count
Fix missing counting
2018-04-13 15:54:18 +02:00
02985e5a0d Fix missing counting 2018-04-13 13:27:08 +02:00
89cf979b13 Add functionality to filter for a collection 2018-04-13 11:25:59 +02:00
dce7c1b820 Update copyright years 2018-04-11 16:54:26 +02:00
5061faaa74 Add support for piping entry ids into command 2018-04-06 16:16:22 +02:00
f1cdb21430 Add support for viewing multiple entries 2018-04-06 15:30:12 +02:00
8c1b4124c0 Handle unknown subcommands in binaries with Runtime::handle_unknown_subcommand 2018-04-04 19:34:13 +02:00
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
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