Module Std.Cst

module Line : sig ... end
type !'a single_line = {
  1. leading_blanks : string;
  2. trailing_spaces : string;
  3. orig : string;
  4. data : 'a;
}
val sexp_of_single_line : ('a -> Sexplib0.Sexp.t) -> 'a single_line -> Sexplib0.Sexp.t
val compare_single_line : ('a -> 'a -> int) -> 'a single_line -> 'a single_line -> int
val equal_single_line : ('a -> 'a -> bool) -> 'a single_line -> 'a single_line -> bool
type !'a multi_lines = {
  1. leading_spaces : string;
  2. trailing_spaces : string;
  3. indentation : string;
  4. lines : 'a Line.t list;
}
val sexp_of_multi_lines : ('a -> Sexplib0.Sexp.t) -> 'a multi_lines -> Sexplib0.Sexp.t
val compare_multi_lines : ('a -> 'a -> int) -> 'a multi_lines -> 'a multi_lines -> int
val equal_multi_lines : ('a -> 'a -> bool) -> 'a multi_lines -> 'a multi_lines -> bool
type !'a t =
  1. | Empty of string
  2. | Single_line of 'a single_line
  3. | Multi_lines of 'a multi_lines
val sexp_of_t : ('a -> Sexplib0.Sexp.t) -> 'a t -> Sexplib0.Sexp.t
val compare : ('a -> 'a -> int) -> 'a t -> 'a t -> int
val equal : ('a -> 'a -> bool) -> 'a t -> 'a t -> bool
val invariant : ('a -> unit) -> 'a t -> unit
val empty : 'a t
val map : 'a t -> f:(string -> 'a -> 'b) -> 'b t
val data : 'a t -> blank:'a -> conflict_marker:(string -> 'a) -> 'a list
val strip : 'a t -> 'a t
val to_string : 'a t -> string
val to_lines : 'a t -> 'a Line.t list
val trim_lines : 'a Line.t list -> 'a Line.t list
val reconcile : 'a t -> lines:'a Line.t list -> default_indentation:int -> pad_single_line:bool -> 'a t
val extract_indentation : 'a Line.t list -> string * 'a Line.t list
val stripped_original_lines : 'a t -> string list