From 47e4ab0cf1b7d364439a1a47df53f2d58a216239 Mon Sep 17 00:00:00 2001 From: Sébastien Dailly Date: Fri, 3 Dec 2021 04:37:14 +0100 Subject: Helper to build application events --- editor/app/editor_app.ml | 11 ++++++++++- editor/app/editor_app.mli | 2 ++ 2 files changed, 12 insertions(+), 1 deletion(-) (limited to 'editor/app') diff --git a/editor/app/editor_app.ml b/editor/app/editor_app.ml index 2d23cfb..e4c944a 100644 --- a/editor/app/editor_app.ml +++ b/editor/app/editor_app.ml @@ -1 +1,10 @@ -include Application.Make(struct type t = State.t end) +module App = Application.Make(struct type t = State.t end) + +let ev + : (module App.Event with type t = 's) -> 's -> App.event + = fun (type s) (module M: App.Event with type t = s) v -> + App.E + ( v + , (module M : App.Event with type t = M.t )) + +include App diff --git a/editor/app/editor_app.mli b/editor/app/editor_app.mli index 3c7646b..dade546 100644 --- a/editor/app/editor_app.mli +++ b/editor/app/editor_app.mli @@ -12,3 +12,5 @@ type event = E : 'a * (module Event with type t = 'a) -> event val run : ?eq:(State.t -> State.t -> bool) -> State.t -> event Note.E.t -> State.t Note.S.t +val ev + : (module Event with type t = 's) -> 's -> event -- cgit v1.2.3