123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081openMerlin_kernelmoduleLocation=Ocaml_parsing.Locationtypesource=string(** CMIs are provided either statically or as URLs to be downloaded on demand *)(** Dynamic cmis are loaded from beneath the given url. In addition the
top-level modules are specified, and prefixes for other modules. For
example, for the OCaml standard library, a user might pass:
{[
{
dcs_url = "/static/stdlib";
dcs_toplevel_modules = [ "Stdlib" ];
dcs_file_prefixes = [ "stdlib__" ];
}
]}
In which case, merlin will expect to be able to download a valid file from
the url ["/static/stdlib/stdlib.cmi"] corresponding to the specified
toplevel module, and it will also attempt to download any module with the
prefix ["Stdlib__"] from the same base url, so for example if an attempt is
made to look up the module ["Stdlib__Foo"] then merlin-js will attempt to
download a file from the url ["/static/stdlib/stdlib__Foo.cmi"]. *)typedynamic_cmis={dcs_url:string;dcs_toplevel_modules:stringlist;dcs_file_prefixes:stringlist;}typestatic_cmi={sc_name:string;(* capitalised, e.g. 'Stdlib' *)sc_content:string;}typecmis={static_cmis:static_cmilist;dynamic_cmis:dynamic_cmisoption;}typeaction=|Complete_prefixofsource*Msource.position|Type_enclosingofsource*Msource.position|All_errorsofsource|Add_cmisofcmistypeerror={kind:Location.report_kind;loc:Location.t;main:string;sub:stringlist;source:Location.error_source;}typecompletions={from:int;to_:int;entries:Query_protocol.Compl.entrylist;}typeis_tail_position=[`No|`Tail_position|`Tail_call](* type errors = { from: int; to_: int; entries: error list } *)typeanswer=|Errorsoferrorlist|Completionsofcompletions|Typed_enclosingsof(Location.t*[`Indexofint|`Stringofstring]*is_tail_position)list|Added_cmisletreport_source_to_string=function|Location.Lexer->"lexer"|Location.Parser->"parser"|Location.Typer->"typer"|Location.Warning->"warning"(* todo incorrect ?*)|Location.Unknown->"unknown"|Location.Env->"env"|Location.Config->"config"