Command-line and Emacs Calendar Client
1- [x] list/search events
2- [x] add/remove events
3- [x] edit events
4- [x] timezones
5- [x] remove collection module
6 - ref [[https://github.com/ocaml-ppx/ppxlib/issues/481]] cc patrick
7- [ ] add timezone to call date functions and make it required
8- [ ] allow editing recurrence-ids
9- [ ] don't load all calendars into memory to show only one event
10- [ ] support specifying duration
11- [ ] better add/edit event datetime parsing
12 - day of the week
13 - month names
14 - allow editting date or time without touching the other
15 - NB in emacs we use org-mode's datetime picker
16- [x] diagnose events failing to parse [[https://github.com/robur-coop/icalendar/issues/14]]
17- [x] [[https://github.com/robur-coop/icalendar/pull/13][handle RECURRENCE-ID]]
18- [x] [[https://github.com/robur-coop/icalendar/issues/15][RRULE with local datetime]]
19- [ ] CalDAV syncing
20 - Currently, you can use [[https://github.com/pimutils/vdirsyncer][vdirsyncer]]
21- [ ] support querying times as well as dates
22- [ ] custom date/time formatting
23- [ ] support querying regex
24- [ ] support VTIMEZONE
25- [ ] support VALARMS
26- [ ] support VOTODS
27- [ ] support VCARDS
28- [x] server mode
29 - [x] hold =Event='s in-memory instead of parsing them for every =Query=
30- [ ] implement TUI front end with something like [[https://github.com/leostera/minttea][minttea]]
31- [ ] implement an emacs front end, like mu4e to mu
32 - [x] listing, searching, querying
33 - [x] show details
34 - [x] show file
35 - [x] refresh
36 - [x] list possible calendars
37 - [x] add functions and bindings to change query parameters on the fly
38 - [ ] timezone support
39 - [ ] check the date module
40 - [ ] support adding, deleting, and editing events
41 - [ ] don't print end date if it's the same as the start date (will require a different sort function)