package merlin-lib

  1. Overview
  2. Docs
On This Page
  1. Dump
Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source

Module Merlin_kernel.MbrowseSource

Sourcetype t = (Ocaml_typing.Env.t * node) list

When a node is inside parenthesis or begin ... end, the node's location contains the delimiters. The locs returned by this function is the location of the node inside the delimiters. In case of nesting, such as ((x)) multiple locations are returned: the one for (x) and the one for x.

Sourceval leaf_node : t -> Ocaml_typing.Env.t * node
Sourceval drop_leaf : t -> t option
Sourcemodule Tie_breaker : sig ... end

Some nodes in the typedtree may share the same, non-ghost, location, while being different. One example of this is let-punning:

Sourceval deepest_before : ?disambiguate:Tie_breaker.t -> Merlin_utils.Std.Lexing.position -> t list -> t

The deepest context inside or before the node, for instance, navigating * through: * foo bar (baz :: tail) <cursor> * asking for node from cursor position will return context of "tail". * Returns the matching node and all its ancestors or the empty list.

Sourceval select_open_node : t -> (Ocaml_typing.Path.t * Ocaml_parsing.Longident.t * t) option
Sourceval enclosing : ?disambiguate:Tie_breaker.t -> Merlin_utils.Std.Lexing.position -> t list -> t
Sourceval range_enclosing : start:Merlin_utils.Std.Lexing.position -> stop:Merlin_utils.Std.Lexing.position -> t list -> t
Sourceval of_typedtree : [ `Implementation of Ocaml_typing.Typedtree.structure | `Interface of Ocaml_typing.Typedtree.signature ] -> t
Sourceval is_recovered_expression : Ocaml_typing.Typedtree.expression -> bool

Identify nodes introduced by recovery

Sourceval is_recovered : Merlin_specific.Browse_raw.node -> bool

When an optional argument is applied with labelled syntax sugar (~a:v instead of ?a:(Some v)), the frontend will have wrapped it in Some _. optional_label_sugar exp returns Some exp' with the sugar removed in that case.

Dump

Sourceval print_node : unit -> node -> string
Sourceval print : unit -> t -> string