Module Merlin_index_format.Index_format

exception Not_an_index of string
val ext : string
val magic_number : string
module Lid : sig ... end
module Lid_set : Granular_set.S with type elt = Lid.t
module Stats : Map.S with type key = String.t
module Union_find : sig ... end
type stat = {
  1. mtime : float;
  2. size : int;
  3. source_digest : string option;
}
type index = {
  1. defs : Lid_set.t Uid_map.t;
  2. approximated : Lid_set.t Uid_map.t;
  3. cu_shape : (Ocaml_typing.Compilation_unit.t, Ocaml_typing.Shape.t) Hashtbl.t;
  4. stats : stat Stats.t;
  5. root_directory : string option;
  6. related_uids : Union_find.t Uid_map.t;
}
val pp : Format.formatter -> index -> unit

add tbl uid locs adds a binding of uid to the locations locs. If this key is already present the locations are merged.

type file_content =
  1. | Cmt of Ocaml_typing.Cmt_format.cmt_infos
  2. | Cms of Ocaml_typing.Cms_format.cms_infos
  3. | Index of index
  4. | Unknown
val write : file:string -> index -> unit
val read : file:string -> file_content
val read_exn : file:string -> index