aboutsummaryrefslogtreecommitdiff
path: root/editor/app
diff options
context:
space:
mode:
Diffstat (limited to 'editor/app')
-rw-r--r--editor/app/editor_app.ml11
-rw-r--r--editor/app/editor_app.mli2
2 files changed, 12 insertions, 1 deletions
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