Commit graph

6228 commits

Author SHA1 Message Date
6ac6db57d1 Add imag-timetrack shell
This patch adds a subcommand to imag-timetrack which allows a user to
start a $SHELL and start a timetracking with it and as soon as the shell
exits, the timetracking is stopped.

Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-07-25 20:32:33 +02:00
d5fd773da8 Change imag-wiki interface to be consistent with other commands
Use "list" instead of "ids" for listing ids in a wiki.

Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-07-25 19:59:01 +02:00
1196f5395d Add debug output
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-07-25 19:53:41 +02:00
9c896eb98b Add checks whether variables are valid unicode and propagate appropriate error
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-07-25 19:52:49 +02:00
5f10ab976f Rewrite get_rtp_match() to not panic
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-07-24 21:32:21 +02:00
03fec5f4db List diaries only if output is not a pipe
Beforehand, this command:

    imag diary -d foo list | cat

listed each entry twice because the reporting feature of libimagrt
forwarded the list to stdout and the normal output was written to
stderr.

With this patch, we get the output only once in this case.

Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-07-21 10:42:27 +02:00
d53e306459 Merge branch 'imag-diagnostics-more-output' into master 2019-07-14 13:40:28 +02:00
ba77f5e8ba Add cli validators for date and datetime 2019-07-14 12:29:31 +02:00
ce9fb3c370 Fix for update to latest itertools
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-07-14 12:07:41 +02:00
8bf6e66d41 Fix for update to new version of mdcat
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-07-09 21:28:29 +02:00
be0436064c Remove uneccessary call to iter()
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-06-30 19:47:28 +02:00
b5d439cef7 Add imag-diagnostics --more output switch
For more output, which is right now: List unverified entries.

Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-06-30 19:38:50 +02:00
c09c5b8bad Remove use of Itertools
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-06-30 19:27:54 +02:00
2185d44011 Update all dependencies
This patch updates all dependencies but not "nom".

Done with `cargo upgrade --all` and manual editing.

Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-06-30 16:44:23 +02:00
f1ad450033 Rewrite changelog generator script
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-06-30 13:24:31 +02:00
6b8c236b67 Merge branch 'libimaghabit-dont-copy-comment-to-instance' into master 2019-06-30 13:14:36 +02:00
a9bde370a3 Merge branch 'imag-log-show-multiple-sort-by-date' into master 2019-06-30 13:14:24 +02:00
f3c41915fd Do not create comment in habit instance
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-06-30 11:34:50 +02:00
62d6b54542 Adapt imag-habit impl for HabitInstance::get_comment()
The implementation of `HabitInstance::get_comment()` was changed and
therefore its semantics were changed.

This patch adapts the call to the function for the new signature and
implications.

Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-06-30 11:31:56 +02:00
191b535479 Change HabitInstance implementation to not contain comment in instance
This patch changes the HabitInstance implementation so that the comment
is not expected to exist in the instance object itself.

This is done for less data duplication.

Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-06-30 11:31:49 +02:00
82c2beafbb Add "done" marker in "list" output
This patch adds a marker in the table when using the "list" command
which marks when the task is already done for the list entry.

Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-06-30 11:09:18 +02:00
32c5ec1e00 Fix: Sort by date, not by id
This patch fixes a bug. We stated in the helptext of the "show" command
that when showing several logs, we sort by date. This was not true as we
sorted by Id, which also included the name of the log, hence we
effectively sorted by name.

This patch fixes that. Output is not sorted by date.

Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-06-30 10:57:21 +02:00
a21d4b7122 Add DiaryId::get_date_representation() function
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-06-30 10:56:55 +02:00
57039654ca Merge branch 'libimagentrytag-refactor' into master 2019-06-29 22:54:26 +02:00
0d5027051d Fix: Location of tags should not change in the refactoring
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-06-29 21:36:59 +02:00
bd564ad209 Add tests
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-06-29 21:36:59 +02:00
3eff42be5a Update dependency: toml-query: 0.9.2 for index-out-of-bounds fixes
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-06-29 21:36:59 +02:00
ae9fbe866f Add test whether setting tags works
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-06-29 21:36:59 +02:00
c5519da011 Tagable should not be implemented for Value
Oh my dear, what was I thinking?

Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-06-29 21:36:59 +02:00
51dad94cc9 Simplify implementation of has_tags()
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-06-29 21:36:59 +02:00
08ba6c68a6 Remove unused imports
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-06-29 21:36:59 +02:00
59bea23004 Simplify implementation of has_tag()
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-06-29 21:36:59 +02:00
87bfb422dc Simplify implementation of remove_tag()
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-06-29 21:36:59 +02:00
e95a4cd15d Simplify implementation of add_tag()
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-06-29 21:36:59 +02:00
061c5beb85 Simplify implementation of set_tags()
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-06-29 21:36:59 +02:00
2ef57a69ed Simplify implementation using toml-query Partial
This patch rewrites the get_tags() function to use toml_query::read::Partial.

The helper functions is_tag_str and is_tag are rewritten for
compatiblity.

Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-06-29 21:36:59 +02:00
1047a06a64 Add trace output
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-06-26 20:27:38 +02:00
8912939e29 libimagentrylink: Add debugging output
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-06-26 20:27:35 +02:00
99da4b777a Rename module: timetrackingstore -> store 2019-06-26 20:27:06 +02:00
34d5a3d62c Add option to imag-log to ignore newlines
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-06-26 20:26:59 +02:00
0eac6d9931 Add support for directional links
This patch adds support for directional links in libimagentrylink.

A directional link is added to the same header as the "internal" links,
which are unidirectional.

The "outgoing" link is added in "links.to", the "incoming" links are
added to "links.from".

This way we can always traverse all linkage. The `Linkable::links()`
method is changed to always return _all_ link.
The `Link` type was extended for notions of "to" and "from" links.

Also adds testing.

Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-06-26 20:26:41 +02:00
56f8aecdbf Merge branch 'remove-link-annotation-support' into master 2019-06-26 20:26:29 +02:00
c9414d944d Fix expected link in test
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-06-23 21:43:07 +02:00
64b1d9c79c Add more debug output 2019-06-23 21:07:32 +02:00
45d0d2d3bb Add test whether adding an URL works
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-06-23 21:07:29 +02:00
ad3c2c6249 Rewrite UrlLinker
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-06-23 21:07:13 +02:00
ed8546c7dd Reimplement link module with header Partial
This patch reimplements the "link" module using the
`toml_query::read::Partial` feature.

Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-06-23 21:06:45 +02:00
cdc90f7be7 Refactor: Remove notion of "external link"s
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-06-23 13:11:49 +02:00
59ddb70345 Fix: Make sure links are sorted and deduplicated 2019-06-23 11:06:19 +02:00
d89a700fd1 Remove annotateable linking
This patch removes the annotateable linking feature from libimagentrylink.
It was not used anyways.

Also, this patch rewrites the complete linking code to use the
toml-query "typed" feature rather than constructing everything by
itself.

This removes a lot of unmaintainable boilerplate code.

Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-06-23 10:35:14 +02:00