Command-line and Emacs Calendar Client
1(** Filter-based searching and querying of calendar events *) 2 3type filter = Event.t -> bool 4 5val summary_contains : string -> filter 6val description_contains : string -> filter 7val location_contains : string -> filter 8val in_collections : Collection.t list -> filter 9val recurring_only : unit -> filter 10val non_recurring_only : unit -> filter 11val with_id : Event.event_id -> filter 12val and_filter : filter list -> filter 13val or_filter : filter list -> filter 14val not_filter : filter -> filter 15 16val query_without_recurrence : 17 fs:Eio.Fs.dir_ty Eio.Path.t -> 18 Calendar_dir.t -> 19 ?filter:filter -> 20 ?comparator:Event.comparator -> 21 ?limit:int -> 22 unit -> 23 (Event.t list, [> `Msg of string ]) result 24(** Find events without expansion of recurring events. Returns Ok with the list 25 of events, or Error with a message. *) 26 27val query : 28 fs:Eio.Fs.dir_ty Eio.Path.t -> 29 Calendar_dir.t -> 30 ?filter:filter -> 31 from:Ptime.t option -> 32 to_:Ptime.t -> 33 ?comparator:Event.comparator -> 34 ?limit:int -> 35 unit -> 36 (Event.t list, [> `Msg of string ]) result 37(** Find events with expansion of recurring events. Returns Ok with the list of 38 events, or Error with a message. *) 39 40(* Test-only helper functions *) 41val matches_filter : Event.t -> filter -> bool 42(** Check if an event matches the given filter *)