[Home] Module Microsoft.FSharp.Text.StructuredFormat.LayoutOps


A layout is a sequence of strings which have been joined together. The strings are classified as words, separators and left and right parenthesis. This classification determines where spaces are inserted. A joint is either unbreakable, breakable or broken. If a joint is broken the RHS layout occurs on the next line with optional indentation. A layout can be squashed to for given width which forces breaks as required.

Values

ValueDescription
val ( $$ ) : layout -> layout -> layout
Join, unbreakable.
val ( ++ ) : layout -> layout -> layout
Join, possible break with indent=0
val ( -- ) : layout -> layout -> layout
Join, possible break with indent=1
val ( --- ) : layout -> layout -> layout
Join, possible break with indent=2
val ( @@ ) : layout -> layout -> layout
Join broken with ident=0
val ( @@- ) : layout -> layout -> layout
Join broken with ident=1
val ( @@-- ) : layout -> layout -> layout
Join broken with ident=2
val aboveL : layout -> layout -> layout
Layout two vertically.
val aboveListL : layout list -> layout
Layout list vertically.
val braceL : layout -> layout
Wrap braces around layout.
val bracketL : layout -> layout
Wrap round brackets around layout.
val commaListL : layout list -> layout
Join layouts into a comma separated list.
val emptyL : layout
The empty layout
val isEmptyL : layout -> bool
Is it the empty layout?
val leftL : string -> layout
An string which is left parenthesis (no space on the right).
val listL : ('a -> layout) -> 'a list -> layout
Layout like an F# list.
val objL : obj -> layout
An uninterpreted leaf, to be interpreted into a string by the layout engine. This allows leaf layouts for numbers, strings and other atoms to be customized according to culture.
val optionL : ('a -> layout) -> 'a option -> layout
Layout like an F# option.
val rightL : string -> layout
An string which is right parenthesis (no space on it's left).
val semiListL : layout list -> layout
Join layouts into a semi-colon separated list.
val sepL : string -> layout
An string which requires no spaces either side.
val sepListL : layout -> layout list -> layout
Join layouts into a list separated using the given layout.
val spaceListL : layout list -> layout
Join layouts into a space separated list.
val squareBracketL : layout -> layout
Wrap square brackets around layout.
val tagAttrL : string -> (string * string) list -> layout -> layout
See tagL
val tagL : string -> layout -> layout
An tag is a name which can be wrapped around a layout. Tag names convey structure to renderers, e.g. for syntax coloring or hyperlinks. Standard tag names are in the process of being finalized, though 'html:a' may be used for hyperlinks. tagAttrL provides settings for attributes associated with the tag, e.g. 'href' for 'html:a'.
val tupleL : layout list -> layout
Form tuple of layouts.
val unfoldL :
  ('a -> layout) -> ('z -> ('a * 'z) option) -> 'z -> int -> layout list
For limitting layout of list-like sequences (lists,arrays,etc). unfold a list of items using (project and z) making layout list via itemL. If reach maxLength (before exhausting) then truncate.
val wordL : string -> layout
An string leaf

See Also

Microsoft.FSharp.Text.StructuredFormat


Documentation for assembly FSharp.Core, version 1.9.4.19, generated using F# version 1.9.4.19