package merlin-lib
Install
dune-project
Dependency
Authors
Maintainers
Sources
sha256=b0dcad092aaaf7a23f65ab9a089e8761bd665cc72357909e0ac6c2182f4fc2d4
sha512=9987baf2b2e82bab4c90a328bfcba9945e797e0f3d947156f04435ee84b49542844b379e35a79027c3ffe81f4b7a8f1c60803233999b4c039d4598033371880d
doc/merlin-lib.ocaml_parsing/Ocaml_parsing/Longident/index.html
Module Ocaml_parsing.Longident
Source
Long identifiers, used in parsetree.
Warning: this module is unstable and part of compiler-libs.
To print a longident, see Pprintast.longident
, using Format.asprintf
to convert to a string.
For a non-empty list l
, unflatten l
is Some lid
where lid
is the long identifier created by concatenating the elements of l
with Ldot
. unflatten []
is None
.
head lid
returns the leftmost part of lid
, e.g., given String.Map.empty
, returns String
.
This function is broken on identifiers that are not just "Word.Word.word"; for example, it returns incorrect results on infix operators and extended module paths.
If you want to generate long identifiers that are a list of dot-separated identifiers, the function unflatten
is safer and faster. unflatten
is available since OCaml 4.06.0.
If you want to parse any identifier correctly, use the long-identifiers functions from the Parse
module, in particular Parse.longident
. They are available since OCaml 4.11, and also provide proper input-location support.