Module Reason.Reason_layoutSource

Sourcemodule Easy_format = Reason_easy_format
Sourcetype break_criterion =
  1. | Never
  2. | IfNeed
  3. | Always
  4. | Always_rec
Sourcetype separator =
  1. | NoSep
  2. | Sep of string
  3. | SepFinal of string * string
Sourcemodule WhitespaceRegion : sig ... end

* Module concerning info to correctly interleave whitespace above a layout node.

Sourcetype t =
  1. | SourceMap of Location.t * t
  2. | Sequence of config * t list
  3. | Label of Easy_format.t -> Easy_format.t -> Easy_format.t * t * t
  4. | Easy of Easy_format.t
  5. | Whitespace of WhitespaceRegion.t * t

* These represent "intent to format" the AST, with some parts being annotated * with original source location. The benefit of tracking this in an * intermediate structure, is that we can then interleave comments throughout * the tree before generating the final representation. That prevents the * formatting code from having to thread comments everywhere. * * The final representation is rendered using Easy_format.

Sourceand config = {
  1. break : break_criterion;
  2. wrap : string * string;
  3. inline : bool * bool;
  4. sep : separator;
  5. indent : int;
  6. sepLeft : bool;
  7. preSpace : bool;
  8. postSpace : bool;
  9. pad : bool * bool;
  10. listConfigIfCommentsInterleaved : (config -> config) option;
  11. listConfigIfEolCommentsInterleaved : (config -> config) option;
}
Sourceval to_easy_format : t -> Easy_format.t
Sourceval get_location : t -> Warnings.loc option
Sourceval source_map : ?loc:Warnings.loc -> t -> t
Sourceval contains_location : t -> location:Warnings.loc -> bool
Sourceval is_before : location:Warnings.loc -> t -> bool