This is the 29th iteration on what happened in the last four weeks in the imag project, the text based personal information management suite for the commandline.
imag is a personal information management suite for the commandline. Its target audience are commandline- and power-users. It does not reimplement personal information management (PIM) aspects, but re-uses existing tools and standards to be an addition to an existing workflow, so one does not have to learn a new tool before beeing productive again. Some simple PIM aspects are implemented as imag modules, though. It gives the user the power to connect data from different existing tools and add meta-information to these connections, so one can do data-mining on PIM data.
What happenend?
Because we had approximately 40 merges (as of 19b5b53b2a) since the last blog post, here only the most relevant ones.
- 05c7467866
This pull request added
imag-diary
-functionality, so one can configure which diary uses what kind of entry-creation (either minutely, hourly or daily). - b4e6200eab
Added helper iterators for the
libimagstore
. - a5951e6951
changed
imag-notes
to use positional arguments. - b853e35a05
introduced
imag-grep
. Have a look at this crate to see how easy the imag ecosystem can be used to write basic tools and functionality. - d97b77c30c
changed
imag-tag
to use positional arguments. - 4b906f27b1
fixed the header location in
libimagentrytag
, which did not follow our conventions. - e7ec39bdcc
fixed the
imag
binary to pass arguments which are auto-generated bylibimagrt
for all binaries. - 1e7e6ab601
changed
imag-ref
to use positional args. - f8d6789dd9
added
imag-gps
. - d8055b4553
removed
imag-counter
as well aslibimagcounter
, which are not that usable after all. - ecc8cc4567
removed the
FoldResult
helper type, because these things can be done withFromIterator
from the standard library. - 19b5b53b2a
added
imag-mv
.
So, to recap, we introduced three new tools in the imag codebase in the last
weeks: imag-grep
, imag-gps
and imag-mv
. Though these are rather simple
tools (all of them are “plumbing”), we were able to fix a lot of bugs when
implementing these tools.
What will happen
Right now I’m working on libimagcontact
and imag-contact
. I hope to get
this done in the next four weeks, although I have to implement a rust-vobject
high-level interface for it, which is work-in-progress at best.
I’m also playing around with cursive
to implement a really basic terminal
user interface for viewing imag entries. But that is highly experimental and I
don’t think I can come up with something which can be tried out in the next
four weeks… I would even be surprised if I can come with something basic
until christmas.
As soon as the libimagcontact
things basically work, I would love to start
implementing libimagcalendar
, which also requires me to get rust-vobject
“ready-ish”.
So, still a lot to do.