package merlin-lib

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type
type t =
  1. | Constructor of Ocaml_typing.Types.constructor_description * Ocaml_parsing.Location.t
  2. | Expr
  3. | Label of Ocaml_typing.Types.label_description
  4. | Module_path
  5. | Module_type
  6. | Patt
  7. | Type
  8. | Constant
  9. | Unknown
val to_string : t -> string
val inspect_browse_tree : cursor:Merlin_utils.Std.Lexing.position -> Ocaml_parsing.Longident.t -> Merlin_kernel.Mbrowse.t list -> t option

inspect_browse_tree lid ~cursor mbrowse tries to provide contextual information given the selected identifier, the position of the cursor and the typed tree. It is used by Locate and Type_enclosing.

The cursor position is used to distinguished whether a module path or an actual constructor name is pointed at when the cursor is in the middle of a longident, e.g. Foo.B|ar.Constructor (with | being the cursor).

FIXME: when cursor at (M.|A 3), the enclosing node returned is const 3, thus breaking the context inference.