package ocamlformat-lib

  1. Overview
  2. Docs
OCaml Code Formatter

Install

dune-project
 Dependency

Authors

Maintainers

Sources

ocamlformat-0.28.1.tbz
sha256=70bda037d0bed961ed91bdb5198b2eeef542444750a8b015d80ccb94b3ff41fb
sha512=8de0517165c6f0cadcedcce66e57cb723956768a8068abd062243abb08fabf292283d0d284be230aa5647d0883a4dc7f28fcf1b70338a2b0c9b17a5bed1bbb71

doc/ocamlformat-lib.ocaml_common/Ocamlformat_ocaml_common/Longident/index.html

Module Ocamlformat_ocaml_common.LongidentSource

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.

Sourcetype t =
  1. | Lident of string
  2. | Ldot of t Location.loc * string Location.loc
  3. | Lapply of t Location.loc * t Location.loc
Sourceval same : t -> t -> bool

same t t' compares the longidents t and t' without taking locations into account.

Sourceval flatten : t -> string list
Sourceval unflatten : string list -> t option

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.

Sourceval last : t -> string
Sourceval parse : string -> t

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.

  • deprecated this function may misparse its input, use "Parse.longident" or "Longident.unflatten"