package merlin-lib

  1. Overview
  2. Docs
On This Page
  1. Dump
Merlin's libraries

Install

dune-project
 Dependency

Authors

Maintainers

Sources

merlin-5.8-505.tbz
sha256=5642cde8486a84aad98fa5c590b70e8dcc6074d7fbdb3b9b8c46b2c5b42f653b
sha512=1d7a7751157e393d3ae248ef5ae24a6b4e81430666c61cc51a3d0ec35804523317036f3d7a3c7f18a7554337f4e5f5989fb677865b261ece3fd2b317903570ba

doc/merlin-lib.kernel/Merlin_kernel/Mbrowse/index.html

Module Merlin_kernel.MbrowseSource

Sourcetype t = (Ocaml_typing.Env.t * node) list
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