package merlin-lib

  1. Overview
  2. Docs
Merlin's libraries

Install

dune-project
 Dependency

Authors

Maintainers

Sources

merlin-5.9.tbz
sha256=de395dd37d246e3ec303e1af35ff8421665fa4f0f0005d95732124b22e3417ac
sha512=74756b28767cdfe10288720540582e818a9d946dd2406606724ebc7b68d1cf6623142e56a1e457f7862839732e7add365aec056930c7ac89be7036c22e5f29ae

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

Module Merlin_analysis.ContextSource

Sourcetype t =
  1. | Constructor of Ocaml_typing.Data_types.constructor_description * Ocaml_parsing.Location.t
  2. | Expr
  3. | Label of Ocaml_typing.Data_types.label_description
  4. | Module_path
  5. | Module_type
  6. | Patt
  7. | Type
  8. | Constant
  9. | Unknown
Sourceval to_string : t -> string

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.

disambiguate is used to get the enclosing node when some nodes share the same location (but have different context).

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.