package merlin-lib

  1. Overview
  2. Docs
Merlin's libraries

Install

Dune Dependency

Authors

Maintainers

Sources

merlin-4.16-414.tbz
sha256=c5e91975f3df56849e1b306f356c31709a2b139d7d57634b8d21e473266fcf2d
sha512=1d2db379b496dc0b95874f312011cce1a48f6808e098f1aff768de0eef0caff222adc17ab61b85c7aac8d889bf9d829fb5d0211267c7a85572ce201c1cbcb990

doc/src/merlin-lib.ocaml_typing/saved_parts.ml.html

Source file saved_parts.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
let attribute = Location.mknoloc "merlin.saved-parts"

module H = Ephemeron.K1.Make(struct
    type t = string
    let hash = Hashtbl.hash
    let equal (a : t) (b : t) =  a = b
  end)

let table = H.create 7

let gensym =
  let counter = ref 0 in
  fun () -> incr counter; !counter

let store parts =
  let id = string_of_int (gensym ()) in
  let key = Parsetree.Pconst_integer (id, None) in
  H.add table id parts;
  key

let find = function
  | Parsetree.Pconst_integer (id, None) ->
    begin
      try H.find table id
      with Not_found -> []
    end
  | _ -> assert false
OCaml

Innovation. Community. Security.