aboutsummaryrefslogtreecommitdiff
path: root/script.it/outline
diff options
context:
space:
mode:
authorSébastien Dailly <sebastien@chimrod.com>2021-05-24 22:13:19 +0200
committerSébastien Dailly <sebastien@dailly.me>2022-02-07 16:22:43 +0100
commit38cf58ac5e1adb38a1b99ea7cdda19ef7b5e12bf (patch)
tree4f94bff126e1dff186e0dafe5fca86657233acb1 /script.it/outline
parent1a53943340d068a1dbcef2f006e44905bab47bff (diff)
Refactor
Diffstat (limited to 'script.it/outline')
-rwxr-xr-xscript.it/outline/dune9
-rwxr-xr-xscript.it/outline/outline.ml21
2 files changed, 30 insertions, 0 deletions
diff --git a/script.it/outline/dune b/script.it/outline/dune
new file mode 100755
index 0000000..db080a3
--- /dev/null
+++ b/script.it/outline/dune
@@ -0,0 +1,9 @@
+(library
+ (name outline)
+ (libraries
+ path)
+ (modules outline)
+ (preprocess (pps ppx_hash js_of_ocaml-ppx))
+ )
+
+
diff --git a/script.it/outline/outline.ml b/script.it/outline/outline.ml
new file mode 100755
index 0000000..1df7588
--- /dev/null
+++ b/script.it/outline/outline.ml
@@ -0,0 +1,21 @@
+open StdLabels
+
+let internal_path_id = ref 0
+
+type t =
+ { id : int
+ ; path: Path.Fixed.t
+ ; back: Path.Fixed.t
+ }
+
+let get_id () =
+ let id = !internal_path_id in
+ incr internal_path_id;
+ id
+
+let find
+ : t list -> int -> t option
+ = fun ts id ->
+ List.find_opt
+ ts
+ ~f:(fun p -> p.id = id)