What's coming up in imag (6)

Two new contributors! Yay!

Another 14 days in imag, lets start iterating over the latest changes (spoiler: there are not that much).

The past

As said, there are not that much changes in imag in the last 14 days. Why is that? Because I have a whole lot to do for my university and some events I’m organizing. The event takes place this week, so after that I hope I can focus more on imag (and my bachelors thesis, hopefully).

But hey, anyways, things happened. Lets iterate.


We had some fixes in the last 14 days and some more are in the pipeline. We removed some result.err().unwrap() calls in the error handling part of functions and replaced it with result.unwrap_err(). Kind of cosmetic, but anyways an improvement in my opinion.


I merged a PR for imag-link testing. Still, we are testing by using bash scripts, which is what I really want to improve. I want to rewrite the tests in Rust to be more safe.


I merged a new hook: A hook to verify links in the entries which are about to be altered or touched by a store call. You can use it as pre-update hook or as pre-retrieve hook.

The hook verifies that the entry which is about to be touched links to entries which actually exist on the filesystem.


I removed almost all warnings which occured when compiling the imag codebase. This is awesome, isn’t it? I enabled some lints and compilation will now fail if someone screws up. I love it!

The future

I got some PRs. Awesome!

PR 383 is a PR for implementing libimagtask and imag-task, using task-hookrs as backend to talk to taskwarrior. I will, of course, support this as much as possible with both patches and suggestions.

PR 384 is a PR from llogiq, one of the authors of clippy. It fixes some issues with the codebase overall. So awesome!

These PRs will be merged as soon as they are ready.

I’m not sure what else I can do in the next 14 days, but I want to go on implementing the diary and maybe get the filter language working, which is a rather complex task. Maybe I will implement the bookmarking module by adapting another tool or maybe by implementing it myself.