- Add project scaffolding (dune, dune-project, opam, .ocamlformat) - Implement basic parsing and handling of iCalendar events - Add event predicates for common event types (all-day, timed, recurrence, exceptions) - Add transformation logic to map iCalendar events to Remind format (stub implementation) - Provide utilities for extracting event details and converting dates/times - Set up executable entrypoint and command-line interface using Cmdliner - Include Remind event type definitions and helpers
18 lines
433 B
OCaml
18 lines
433 B
OCaml
open Cmdliner
|
|
open Cmdliner.Term.Syntax
|
|
|
|
let ical_file =
|
|
let doc = "TODO" in
|
|
let docv = "ICAL" in
|
|
Arg.(required & pos ~rev:true 0 (some string) None & info [] ~docv ~doc)
|
|
|
|
let main_command f =
|
|
let doc = "Convert iCalendar files to remind format" in
|
|
let man = [] in
|
|
Cmd.make (Cmd.info "ical2rem" ~version:"%%VERSION%%" ~doc ~man)
|
|
@@
|
|
let+ ical_file = ical_file in
|
|
f ical_file
|
|
|
|
let main f = Cmd.eval @@ main_command f
|