+8
CHANGELOG.md
+8
CHANGELOG.md
+43
-4
README.md
+43
-4
README.md
···+It operates on a [vdir](https://pimutils.org/specs/vdir/) directory of [`.ics`](https://datatracker.ietf.org/doc/html/rfc5545) files as managed by tools like [vdirsyncer](https://github.com/pimutils/vdirsyncer), which allows it to interact with CalDAV servers.+The command-line has the `list`, `search`, `show`, `add`, `delete`, and `edit` subcommands, and has full timezone support.+personal 2025-04-04 Fri 13:00 - 14:00 (America/New_York) New York 8am meeting 054bb346-b24f-49f4-80ab-fcb6040c19a7+family 2025-04-06 Sun 21:00 - 22:00 (UTC) Family chat @Video call 3B84B125-6EFC-4E1C-B35A-97EFCA61110E+work 2025-04-09 Wed 15:00 - 16:00 (Europe/London) Weekly Meeting 4adcb98dfc1848601e38c2ea55edf71fab786c674d7b72d4c263053b23560a8d+family 2025-04-13 Sun 21:00 - 22:00 (UTC) Family chat @Video call 3B84B125-6EFC-4E1C-B35A-97EFCA61110E+work 2025-04-16 Wed 15:00 - 16:00 (Europe/London) Weekly Meeting 4adcb98dfc1848601e38c2ea55edf71fab786c674d7b72d4c263053b23560a8d+family 2025-04-20 Sun 21:00 - 22:00 (UTC) Family chat @Video call 3B84B125-6EFC-4E1C-B35A-97EFCA61110E+work 2025-04-23 Wed 15:00 - 16:00 (Europe/London) Weekly Meeting 4adcb98dfc1848601e38c2ea55edf71fab786c674d7b72d4c263053b23560a8d+family 2025-04-27 Sun 21:00 - 22:00 (UTC) Family chat @Video call 3B84B125-6EFC-4E1C-B35A-97EFCA61110E+work 2025-04-30 Wed 15:00 - 16:00 (Europe/London) Weekly Meeting 4adcb98dfc1848601e38c2ea55edf71fab786c674d7b72d4c263053b23560a8d-Currently, it operates on a [vdir](https://pimutils.org/specs/vdir/) directory of [`.ics`](https://datatracker.ietf.org/doc/html/rfc5545) files (as managed by tools like [vdirsyncer](https://github.com/pimutils/vdirsyncer)).-It has the `list`, `search`, `show`, `add`, `delete`, and `edit` subcommands, and supports timezones.+The Emacs client is defined in [./emacs](./emacs) and communicates with `caled server` using a [S-expression](https://en.wikipedia.org/wiki/S-expression) based protocol.
+33
-28
TODO.org
+33
-28
TODO.org
···-- and maybe hold =Event='s in-memory in a =Collection= instead of parsing them for every =Query=-- [ ] implement TUI front end with something like [[https://github.com/leostera/minttea][minttea]]+* TODO implement TUI front end with something like [[https://github.com/leostera/minttea][minttea]]
+58
-68
bin/add_cmd.ml
+58
-68
bin/add_cmd.ml
······+(* if we specify and end date and time without a end timezone, default to the start timezone *)·········
+13
-7
bin/delete_cmd.ml
+13
-7
bin/delete_cmd.ml
·········
+5
-2
bin/dune
+5
-2
bin/dune
+44
-27
bin/edit_cmd.ml
+44
-27
bin/edit_cmd.ml
······+(* if we specify and end date and time without a end timezone, default to the start timezone *)·········
+125
-38
bin/event_args.ml
+125
-38
bin/event_args.ml
······························
+39
-43
bin/list_cmd.ml
+39
-43
bin/list_cmd.ml
············
+4
-3
bin/main.ml
+4
-3
bin/main.ml
·········
+35
-35
bin/query_args.ml
+35
-35
bin/query_args.ml
···············
+69
-81
bin/search_cmd.ml
+69
-81
bin/search_cmd.ml
···············
+85
bin/server_cmd.ml
+85
bin/server_cmd.ml
···
+10
-8
bin/show_cmd.ml
+10
-8
bin/show_cmd.ml
·········
+2
-1
caledonia.opam
+2
-1
caledonia.opam
······
+2
-2
dune-project
+2
-2
dune-project
+56
emacs/caledonia-evil.el
+56
emacs/caledonia-evil.el
···
+788
emacs/caledonia.el
+788
emacs/caledonia.el
···+(let* ((query-to-use (or query caledonia--current-query '())) ;; Use current query if available
+175
flake.lock
+175
flake.lock
···
+39
flake.nix
+39
flake.nix
···
+95
-124
lib/calendar_dir.ml
+95
-124
lib/calendar_dir.ml
············
+23
-17
lib/calendar_dir.mli
+23
-17
lib/calendar_dir.mli
······
-1
lib/collection.ml
-1
lib/collection.ml
···
-3
lib/collection.mli
-3
lib/collection.mli
+167
-70
lib/date.ml
+167
-70
lib/date.ml
············
+38
-2
lib/date.mli
+38
-2
lib/date.mli
·········
+4
-2
lib/dune
+4
-2
lib/dune
+292
-105
lib/event.ml
+292
-105
lib/event.ml
·························································
+59
-12
lib/event.mli
+59
-12
lib/event.mli
·····················
-70
lib/query.ml
-70
lib/query.ml
···
-42
lib/query.mli
-42
lib/query.mli
···
+120
lib/sexp.ml
+120
lib/sexp.ml
···
+1
-1
test/dune
+1
-1
test/dune
+17
-18
test/test_calendar_dir.ml
+17
-18
test/test_calendar_dir.ml
······
+13
-7
test/test_date.ml
+13
-7
test/test_date.ml
·········
+322
test/test_event.ml
+322
test/test_event.ml
···
-335
test/test_query.ml
-335
test/test_query.ml
···