Merlin_kernel.Mbrowsetype node = Merlin_specific.Browse_raw.nodetype t = (Ocaml_typing.Env.t * node) listmodule Let_pun_behavior : sig ... endval fold_node :
(Ocaml_typing.Env.t -> Merlin_specific.Browse_raw.node -> 'a -> 'a) ->
Ocaml_typing.Env.t ->
Merlin_specific.Browse_raw.node ->
'a ->
'aval node_loc : Merlin_specific.Browse_raw.node -> Ocaml_parsing.Location.tval leaf_node : t -> Ocaml_typing.Env.t * nodeval deepest_before :
?let_pun_behavior:Let_pun_behavior.t ->
Merlin_utils.Std.Lexing.position ->
t list ->
tThe 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.
let_pun_behavior dictates whether to prefer the expression or pattern node in a punned let expression. The default is Prefer_pattern
val select_open_node :
t ->
(Ocaml_typing.Path.t * Ocaml_parsing.Longident.t * t) optionval enclosing :
?let_pun_behavior:Let_pun_behavior.t ->
Merlin_utils.Std.Lexing.position ->
t list ->
tlet_pun_behavior dictates whether to prefer the expression or pattern node in a punned let expression. The default is Prefer_pattern
val of_structure : Ocaml_typing.Typedtree.structure -> tval of_signature : Ocaml_typing.Typedtree.signature -> tval of_typedtree :
[ `Implementation of Ocaml_typing.Typedtree.structure
| `Interface of Ocaml_typing.Typedtree.signature ] ->
tval node_of_binary_part :
Ocaml_typing.Env.t ->
Ocaml_typing.Cmt_format.binary_part ->
nodeval is_recovered_expression : Ocaml_typing.Typedtree.expression -> boolIdentify nodes introduced by recovery
val is_recovered : Merlin_specific.Browse_raw.node -> boolval optional_label_sugar :
Ocaml_typing.Typedtree.expression_desc ->
Ocaml_typing.Typedtree.expression optionWhen 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.
val print_node : unit -> node -> stringval print : unit -> t -> string