package inquire
An OCaml library to create beautiful interactive CLIs
Install
Dune Dependency
Authors
Maintainers
Sources
inquire-0.2.1.tbz
sha256=0b88d89e24d4cbc0560a7c8d8ec51388990e1b27f24685029997afa52a7c720f
sha512=8b62860a8d15e41528a404a6f1b9968c3d79755607b5ea319af2e3e45516e672a785361d278279910928db4054e1800e87bcee0210ff3eabfb330713b368c827
doc/src/inquire.zed/zed_macro.ml.html
Source file zed_macro.ml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78
(* * zed_macro.ml * ------------ * Copyright : (c) 2011, Jeremie Dimino <jeremie@dimino.org> * Licence : BSD3 * * This file is a part of Zed, an editor engine. *) open React type 'a t = { recording : bool signal; set_recording : bool -> unit; mutable tmp_macro : 'a list; mutable macro : 'a list; count : int signal; set_count : int -> unit; counter : int signal; set_counter : int -> unit; } let create macro = let recording, set_recording = S.create false in let count, set_count = S.create 0 in let counter, set_counter = S.create 0 in { recording; set_recording; macro; tmp_macro = []; count; set_count; counter; set_counter; } let recording r = r.recording let get_recording r = S.value r.recording let set_recording r state = match state with | true -> r.tmp_macro <- []; r.set_recording true; r.set_count 0; r.set_counter 0 | false -> if S.value r.recording then begin r.macro <- List.rev r.tmp_macro; r.tmp_macro <- []; r.set_recording false; r.set_count 0 end let cancel r = if S.value r.recording then begin r.tmp_macro <- []; r.set_recording false; r.set_count 0 end let count r = r.count let get_count r = S.value r.count let counter r = r.counter let get_counter r = S.value r.counter let set_counter r v = r.set_counter v let add_counter r v = r.set_counter (S.value r.counter + v) let add r x = if S.value r.recording then begin r.tmp_macro <- x :: r.tmp_macro; r.set_count (S.value r.count + 1) end let contents r = r.macro
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>