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/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.