I've been doing some work on qcard in my fork:
https://git.sr.ht/~ser/qcard
in the hopes of eventually replacing khard, which isn't too machine-friendly
(for scripting). However, the compiled binary was committed at one point, so all
patches, regardless how small, are over 10MB and can't be submitted through
email.
There are two significant bundles of work. The first adds local vdir support.
AddressBooks can be defined as pointing to a local directory of .ics files --
this is how the local caches of tools like vdirsyncer look. qcard can act
entirely offline with a vdir.
The second commit refactors the code: it removes dead code, localizes variables
that don't need to be global (and reduces global variables in general), renames
variables following Go naming conventions (type thingStruct struct is
discouraged as being redundant), replaces functions with methods where
appropriate, generalizes some specialized functions, and generally cleans things
up.
My next two areas of focus will be writing some badly-needed unit tests, and I
may look at the bespoke ICAL parsing code and see if using an ICAL library that
implements RFC 6350 more completely.
As I mentioned, I tried to submit a patch, but that qcard binary defeated my
mail server. I think if we can delete that and get sync'd, I can use the
standard patch process.
I'd like to collaborate, rather than hard fork; please let me know if you're
interested in doing that. It would also be useful to know if/what you're working
on and the direction you're going -- I have some specific needs I want to
accomplish, for my own purposes, and would be focusing on those.
If you want to merge my changes, you'll have to remote add my repo and merge
them on your desktop; after that, the qcard binary will be gone and I can submit
patches. There are only the two commits, so at least the review won't be
horrible.
Ich kann Deutsch lesen, habe aber vor 20 Jahren durch Eintauchen gelernt und
wurde darüber informiert, daß mein geschriebenes Deutsch fast unverstandbar ist.
Also, weil ich schreibe lieber English, Sie kœnnen doch Deutsch schreiben.
Cheers,
--- SER
Sean E. Russell
Age: age195vpft7nzsy83medxagqqsge0lrcuf9txe3z2znlu2wsk69cdu4sx8nfvp
Minisign: https://ser1.net/.well-known/minisign.pub
GPG key: https://ser1.net/.well-known/pgp.asc
Matrix: @ser:matrix.org