package merlin-lib

  1. Overview
  2. Docs
Merlin's libraries

Install

dune-project
 Dependency

Authors

Maintainers

Sources

merlin-5.8.1-505.tbz
sha256=b8fb32bc0fc092af2fd6bdc831cb966057f2e3fd7b99a172b705e96ba8082583
sha512=01ca96f8167d062ba24036e43f650ff958fb157d44867bd52eb7999b7d19bf9fc97cdcd46c04b6979f0e1149d5041047723eed5913b03c4404d7acb116183bee

doc/merlin-lib.analysis/Merlin_analysis/Locate/index.html

Module Merlin_analysis.LocateSource

Sourcetype config = {
  1. mconfig : Merlin_kernel.Mconfig.t;
  2. ml_or_mli : [ `ML | `Smart | `MLI ];
    (*

    When ml_or_mli is `Smart, if locate blocks on an interface uid, it will use the cmt_declaration_dependencies to try finding a unique corresponding definition in the implementation.

    *)
  3. traverse_aliases : bool;
}
Sourcetype result = {
  1. uid : Ocaml_typing.Shape.Uid.t;
  2. decl_uid : Ocaml_typing.Shape.Uid.t;
  3. file : string;
  4. location : Ocaml_parsing.Location.t;
  5. approximated : bool;
}
Sourceval sourcefile_for_ppx_sourcefile : string -> string option

Given the path that looks like a ppx-expanded sourcefile, returns the path of the true sourcefile. If the path does not appear to be for a ppx-expanded file or the sourcefile doesn't exist, returns None.

ex: sourcefile_for_ppx_sourcefile "foo.pp.ml" -> Some "foo.ml"

Sourceval uid_of_result : traverse_aliases:bool -> Ocaml_typing.Shape_reduce.result -> Ocaml_typing.Shape.Uid.t option * bool

Lookup the delcaration of the given Uid in the appropriate cmt file

Sourceval get_linked_uids : config:config -> comp_unit:string -> Ocaml_typing.Shape.Uid.t -> Ocaml_typing.Shape.Uid.t list

get_linked_uids queries the cmt_declaration_dependencies table and returns udis related to the one passed as argument. TODO right now this function only returns simple links tagged with Definition_to_declaration

Sourceval find_source : config:Merlin_kernel.Mconfig.t -> Ocaml_utils.Warnings.loc -> string -> [> `File_not_found of string | `Found of string * Ocaml_parsing.Location.t ]
Sourceval from_path : config:config -> env:Ocaml_typing.Env.t -> local_defs:Merlin_kernel.Mtyper.typedtree -> namespace:Env_lookup.Namespace.t -> Ocaml_typing.Path.t -> [> `File_not_found of result | `Found of result | `Builtin of Ocaml_typing.Shape.Uid.t * string | `Not_in_env of string | `Not_found of string * string option ]
Sourceval from_string : config:config -> env:Ocaml_typing.Env.t -> local_defs:Merlin_kernel.Mtyper.typedtree -> pos:Lexing.position -> ?namespaces:Env_lookup.Namespace.inferred_basic list -> string -> [> `File_not_found of result | `Found of result | `Builtin of Ocaml_typing.Shape.Uid.t * string | `Missing_labels_namespace | `Not_found of string * string option | `Not_in_env of string | `At_origin ]
Sourceval get_doc : buffer_source:string -> config:Merlin_kernel.Mconfig.t -> env:Ocaml_typing.Env.t -> local_defs:Merlin_kernel.Mtyper.typedtree -> comments:(string * Ocaml_parsing.Location.t) list -> pos:Lexing.position -> [ `User_input of string | `Completion_entry of Env_lookup.Namespace.t * Ocaml_typing.Path.t * Ocaml_parsing.Location.t ] -> [> `Found of string | `Builtin of string | `Not_found of string * string option | `Not_in_env of string | `No_documentation ]