include sig ... end
val atom_threshold_of_sexp : Base.Sexp.t ‑> atom_threshold
val sexp_of_atom_threshold : atom_threshold ‑> Base.Sexp.t
include sig ... end
val char_threshold_of_sexp : Base.Sexp.t ‑> char_threshold
val sexp_of_char_threshold : char_threshold ‑> Base.Sexp.t
Depth is the depth of an atom. For example, in (a (b (c) d)), the depth of a is 1, the depth of b and d is 2, and depth of c is 3. Depth_threshold usually refers to the maximum depth of any atom in a list for it to be considered for certain heuristic, e.g. data alignment.
include sig ... end
val depth_threshold_of_sexp : Base.Sexp.t ‑> depth_threshold
val sexp_of_depth_threshold : depth_threshold ‑> Base.Sexp.t
include sig ... end
val aligned_parens_of_sexp : Base.Sexp.t ‑> aligned_parens
val sexp_of_aligned_parens : aligned_parens ‑> Base.Sexp.t
type data_alignment
=
| Data_not_aligned | |
| Data_aligned of aligned_parens * atom_threshold * char_threshold * depth_threshold | (** Character threshold is excluding spaces and parentheses, the maximum depth can't exceed the depth threshold. *) |
include sig ... end
val data_alignment_of_sexp : Base.Sexp.t ‑> data_alignment
val sexp_of_data_alignment : data_alignment ‑> Base.Sexp.t
include sig ... end
val atom_coloring_of_sexp : Base.Sexp.t ‑> atom_coloring
val sexp_of_atom_coloring : atom_coloring ‑> Base.Sexp.t
This currently relates only to block comments. Auto_indent
tries to infer the
indentation from the original formatting, Indent_comment n
indents new lines in a
block comment by n spaces.
include sig ... end
val comment_indent_of_sexp : Base.Sexp.t ‑> comment_indent
val sexp_of_comment_indent : comment_indent ‑> Base.Sexp.t
include sig ... end
val comment_print_style_of_sexp : Base.Sexp.t ‑> comment_print_style
val sexp_of_comment_print_style : comment_print_style ‑> Base.Sexp.t
include sig ... end
val comments_of_sexp : Base.Sexp.t ‑> comments
val sexp_of_comments : comments ‑> Base.Sexp.t
include sig ... end
val atom_printing_of_sexp : Base.Sexp.t ‑> atom_printing
val sexp_of_atom_printing : atom_printing ‑> Base.Sexp.t
Singleton_lists are lists of the following format
(ATOM_1 .. ATOM_N (....))
and are printed in the following way if they are too big to fit on a line/force a breakline for other reasons:
(ATOM_1 .. ATOM_N ( .... ))
Thresholds correspond to what's an acceptable number/size of the leading atoms ATOM_1 through ATOM_N.
Character threshold is excluding spaces.
include sig ... end
val singleton_limit_of_sexp : Base.Sexp.t ‑> singleton_limit
val sexp_of_singleton_limit : singleton_limit ‑> Base.Sexp.t
include sig ... end
val paren_coloring_of_sexp : Base.Sexp.t ‑> paren_coloring
val sexp_of_paren_coloring : paren_coloring ‑> Base.Sexp.t
include sig ... end
val separator_of_sexp : Base.Sexp.t ‑> separator
val sexp_of_separator : separator ‑> Base.Sexp.t
Should closing parentheses be on the same line as the last sexp in the list (modulo comments), or should they be on new lines? Should opening parentheses always be on the same line as what follows them, or should they sometimes (when the first item in the list is a list followed by some other sexp) be on a separate line?
include sig ... end
val parens_of_sexp : Base.Sexp.t ‑> parens
val sexp_of_parens : parens ‑> Base.Sexp.t
type t
=
{
indent : int; |
data_alignment : data_alignment; |
color_scheme : color array; |
atom_coloring : atom_coloring; |
atom_printing : atom_printing; |
paren_coloring : paren_coloring; |
opening_parens : parens; |
closing_parens : parens; |
comments : comments; |
singleton_limit : singleton_limit; |
leading_threshold : atom_threshold * char_threshold; |
separator : separator; |
sticky_comments : bool; |
}
val default : t
val create : ?color:bool ‑> ?interpret_atom_as_sexp:bool ‑> ?drop_comments:bool ‑> ?new_line_separator:bool ‑> ?custom_data_alignment:data_alignment ‑> unit ‑> t
val update : ?color:bool ‑> ?interpret_atom_as_sexp:bool ‑> ?drop_comments:bool ‑> ?new_line_separator:bool ‑> ?custom_data_alignment:data_alignment ‑> t ‑> t