Commit graph

391 commits

Author SHA1 Message Date
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
f627d22057 Add header editing support 2018-03-23 17:16:40 +01:00
9c13c276fb Do table output by default 2018-03-23 15:58:45 +01:00
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
8f1d3c4ffb Fix: Create store directory as well 2018-03-23 10:12:39 +01:00
127681498f Add debug output in tests 2018-03-23 10:05:58 +01:00
64c8aee7fb Add functionality to include store path (defaults to no) 2018-03-16 23:51:41 +01:00
dc76729bea
Merge pull request #1345 from matthiasbeyer/imag/inherit-stdio
Inherit stdio to child process
2018-03-12 23:22:17 +01:00
ee72e61b44
Merge pull request #1343 from matthiasbeyer/imag-tag/rewrite-cli
imag-tag: rewrite cli
2018-03-12 23:07:06 +01:00
45be292dd3 Inherit stdio to child process 2018-03-12 22:43:26 +01:00
fbc3bda54b Rewrite CLI for more positional args
Also removed some non-working "+<tag>" and "-<tag>" handling.
2018-03-12 22:16:47 +01:00
8ae6e735e7 Allow reading store ids from stdin 2018-03-12 19:58:27 +01:00
579c00b62a Replace hard coded version strings with compiletime env 2018-03-06 12:45:41 +01:00
50461b839a Use output stream from Runtime::stdout() 2018-03-04 13:57:44 +01:00
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
35ac7ba927 Provide unlink() CLI interface 2018-02-25 18:59:02 +01:00
b2048b3dcf
Merge pull request #1306 from matthiasbeyer/minor
Minor patches
2018-02-20 20:23:41 +01:00
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
c4b33005fd Increase gap size 2018-02-20 17:46:50 +01:00
59ea31a077 Use the make_imag_version!() helper 2018-02-20 17:45:14 +01:00
027c4b3287 Remove usage of libimagentrylist 2018-02-20 15:02:46 +01:00
f5df7cf332 Revert "Dump all StoreIds"
This reverts commit 1f84643486.
2018-02-20 13:40:52 +01:00
dd8d4e6fa4 Add imag-ids core command 2018-02-20 13:37:10 +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
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
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
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
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
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
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
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
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
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
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
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
7731b88c97 Remove map_err_trace_exit() calls in favour of map_err_trace_exit_unwrap() 2018-01-29 09:38:32 +01:00
fcfc397fc8 env_logger: 0.5.0-rc.2 -> 0.5 2018-01-18 14:15:40 +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
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
0c2308bd76 Use App::after_help() for printing runtime-generated help output 2018-01-08 16:55:07 +01:00
38f8de15bf Revert "Integrate spinner for nicer progress reports"
This reverts commit de7a4d2dfb.
2018-01-04 12:10:07 +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
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
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
815cde76d0 Rewrite .map_err_trace_exit().unwrap() with new helper fn 2017-10-12 20:15:46 +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
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