diff options
Diffstat (limited to 'ocaml/lib/dill.mli')
| -rw-r--r-- | ocaml/lib/dill.mli | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/ocaml/lib/dill.mli b/ocaml/lib/dill.mli new file mode 100644 index 0000000..f78bba8 --- /dev/null +++ b/ocaml/lib/dill.mli @@ -0,0 +1,30 @@ +(** Dill - Terminal I/O driver using Eio *) + +open Noun + +type belt = + | Aro of [`d | `l | `r | `u] + | Bac + | Ctl of char + | Del + | Met of char + | Ret + | Txt of string list + +type blit = + | Lin of string + | Klr of noun + | Mor of blit list + | Hop of int + | Clr + +type effect = { + wire: noun; + blit: blit; +} + +val render_blit : stdout:_ Eio.Flow.sink -> blit -> unit +val make_belt_event : noun -> belt -> noun +val parse_input : string -> belt +val input_loop : stdin:_ Eio.Flow.source -> state:State.t -> wire:noun -> (noun -> unit) -> unit +val render_effects : stdout:_ Eio.Flow.sink -> noun -> unit |
