Commit graph

6344 commits

Author SHA1 Message Date
b272c1508c Merge branch 'ui-testing-imag-view' into master
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-12-01 15:01:52 +01:00
611fcbc774 Implement imag-todo-show table view by default
By passing -T, plaintext output can be generated.

Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-12-01 14:48:41 +01:00
8e0be9f1f7 Fix: Allow to pass only UUIDs and automatically add "todo/" prefix
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-12-01 14:44:36 +01:00
82146e0c98 Fix: Ignore Broken Pipe errors when writing list
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-12-01 14:44:33 +01:00
49eb0c13e9 Merge branch 'imag-todo/ids-from-stdin' into master
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-12-01 14:09:43 +01:00
7d340bb527 Merge branch 'imag-todo/format-output' into master
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-12-01 14:09:32 +01:00
f471966653 Add ui test for imag-view
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-12-01 13:29:15 +01:00
bd4a839cb9 Rewrite list_todos() to be able to read ids from stdin
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-12-01 13:00:00 +01:00
e3b4901004 Add default configuration for imag-todo show format
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-12-01 12:54:42 +01:00
cadd9f8944 Rewrite show functionality of imag-todo
This implementation uses the handlebars crate so that the show format
can be specified in the configuration file.

Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-12-01 12:54:11 +01:00
c2d4ec5fef imag-notes: Do not call exit() but propagate error to main function
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-11-23 20:16:28 +01:00
68befe23c6 Update minimum required rust version to 1.37.0
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-11-23 19:28:00 +01:00
ae14f15449 Add version-sync tests to ensure we update correctly
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-11-21 20:46:41 +01:00
1a25bd2da4 Merge branch 'imag-tag/filtering' into master
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-11-16 12:48:48 +01:00
734f889cdf Add test for testing listing all entries with/out a certain tag
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-11-13 19:46:10 +01:00
c5f0dc7b14 Add imag-tag-missing command for filtering entries
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-11-13 19:46:10 +01:00
cec4d93f3e Add imag-tag-present command for filtering entries
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-11-13 19:46:10 +01:00
9e532f79dd Transform the main function to get the subcommand object
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-11-13 19:38:39 +01:00
5a89a29b6d Fix: Only view entry if output is not a pipe
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-11-13 19:21:28 +01:00
fae53aa134 Rewrite to accept ids from stdin
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-11-11 19:50:38 +01:00
9dc345c833 Fix: a tag can contain ascii digits
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-11-11 19:48:55 +01:00
61ade452de Make tag-checking error message more explicit about what is wrong
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-11-11 19:48:09 +01:00
164880dbf9 Fix: Make everything cfg(test)
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-11-10 11:52:26 +01:00
9f5b28ea11 Fix: Do not call exit(), but propagate error
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-11-10 01:53:09 +01:00
99fedd5abd Merge branch 'imag-todo-taskwarrior-import' into master
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-11-09 18:41:18 +01:00
ead9438c41 Merge branch 'libimagtodo-req-rewrite' into master
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-11-09 18:38:12 +01:00
5cfbab8b8e Add import functionality for taskwarrior imports
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-11-09 17:35:19 +01:00
5be95227c4 Add builder for todo entries
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-11-09 17:35:19 +01:00
7873d99df5 Reimplement imag-todo
Parts of this commit were written by Leon, but in the process we needed
to squash. Here's his original commit message:

> Change todo listing behaviours
>
> This commit changes the todo binary to have the following behaviour:
> - `imag-todo`: Print all non-hidden pending todos
> - `imag-todo pending`: Print all non-hidden pending todos
> - `imag-todo list`: Print all non-hidden non-done todos
>   - `--done`: Include done
>   - `--no-pending`: Exclude pending
>
> Each and every command respects the hidden attribute only on the view
> layer, but still pipes the hidden entries to stdout.
>
> Internally, this introduces a black- and whitelist todo-state matcher,
> that can be configured to match only certain todos and thereby
> improves reusability of functions over the domain binary.

Signed-off-by: Leon Schuermann <leon@is.currently.online>
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-11-09 17:35:06 +01:00
775d3f0a80 Reimplement libimagtodo
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-11-09 17:35:06 +01:00
21cc901d06 Rewrite what libimagtodo should implement
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-11-09 17:35:06 +01:00
adca7a4a1c Remove old implementation
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-11-09 17:35:06 +01:00
01db294700 Add Runtime::input_is_pipe()
We need this because we might want to check whether we can get the STDIN
handle from the runtime or not.
In some (rare) cases, the runtime "thinks" that STDIN is a stream of
IDs, but it is not. So the client can check whether stdin is a pipe
(thus, whether Runtime thinks that there's a stream of IDs) and easily
work around that by taking ::std::io::stdin() itself.

Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-11-09 15:51:09 +01:00
7b6e5eafba Merge branch 'ui-testing' into master 2019-11-03 11:57:15 +01:00
d68797a115 Test imag-mv
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-11-03 11:30:33 +01:00
a8107ae6e0 Add tests for imag-category
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-11-03 11:30:33 +01:00
485ad3815f Add helper function to get stderr of a command
But also get back the Assert object, which can then be used to check
whether the command succeeded or failed.

Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-11-03 11:30:33 +01:00
0c685fde73 Add imag-tag tests
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-11-03 11:30:33 +01:00
f7bc7d0834 Adapt to quote-less output
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-11-03 11:30:33 +01:00
00d6e78c5d Rewrite imag header version output test
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-11-03 11:30:33 +01:00
cf4298b9da Add call() helper
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-11-03 11:30:33 +01:00
a837cff382 Add tests for imag-grep
Signed-off-by: Matthias Beyer <mail@beyermatthias.deg
2019-11-03 11:30:33 +01:00
f1b5b0915b Refactor file_path and provide helper function for store path
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-11-02 18:19:30 +01:00
a8b75ad2ba Refactor out helper function to simply get stdout of a command
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-11-02 18:19:30 +01:00
fd2afad72a Move path calculation to helper function
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-11-02 18:19:30 +01:00
4cbcdc118c Add test: Check whether imag-header prints correct string when querying imag.version header
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-11-02 18:19:30 +01:00
4b3e2ea4cd Add test: Test whether imag-header reports header at imag.version after entry creation
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-11-02 18:19:30 +01:00
61a1a241c8 Add test: imag-ids reports id after it was created
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-11-02 18:19:30 +01:00
ceabde799b Add test: check whether imag-create works as expected
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-11-02 18:19:30 +01:00
4c67450b0c Add test: store is empty after creation
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-11-02 18:19:30 +01:00