package coq-lsp
Language Server Protocol native server for Coq
Install
Dune Dependency
Authors
Maintainers
Sources
coq-lsp-0.2.3.8.19.tbz
sha256=dd5d0993261d3742e77ccac8344307d97b507b265d8743ae0ce33d0b3fcfd98a
sha512=76727400b27900fdd659af7f03c5f2cd979f50ea0c76ad6f5b5de56a53b9db06dba1e1c786fd3e8ab695e42d94c53d58415c0c5b5eef8192f9863eaf7dcca693
doc/src/petanque_json/obj_map.ml.html
Source file obj_map.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
module type Obj = sig val name : string type t (* Not yet *) (* val equal : t -> t -> bool *) end module type S = sig type t [@@deriving yojson] end module Make (O : Obj) : S with type t = O.t = struct type t = O.t type _t = int [@@deriving yojson] module Memo = Hashtbl.Make (Int) let memo = Memo.create 1000 let dump_memo () = let keys = Memo.to_seq_keys memo |> List.of_seq in Format.(eprintf "@[size: %d@]@\n%!" (List.length keys)); Format.(eprintf "@[<v>%a@]@\n%!" (pp_print_list pp_print_int) keys) let last_id = ref 0 let mk_id _ = incr last_id; !last_id let of_obj (s : O.t) : int = let id = mk_id s in let () = Memo.add memo id s in id let to_obj (id : int) : (O.t, _) Result.t = match Memo.find_opt memo id with | Some v -> Ok v | None -> if false then dump_memo (); Error (Format.asprintf "key %d for object %s not found" id O.name) let of_yojson json = _t_of_yojson json |> fun r -> Result.bind r to_obj let to_yojson st : Yojson.Safe.t = of_obj st |> _t_to_yojson end
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>