PreviousUpNext

14.4.67  Prettyprint

The standard library Prettyprint api defines access to simple indented-text formatting.

The Prettyprint api is implemented by the prettyprint package.

The Prettyprint api source code is in src/lib/prettyprint/big/src/prettyprint.pkg.

See also: Simple_Prettyprinter.

The above information is manually maintained and may contain errors.

api {    Device ;
    Stream ;
    Token ;
    Style ;
    Indent  = BOX_RELATIVE Int | CURSOR_RELATIVE Int;
    open_stream : Device -> Stream;
    get_device : Stream -> Device;
    flush_stream : Stream -> Void;
    close_stream : Stream -> Void;
    begin_horizontal_box : Stream -> Void;
    begin_vertical_box : Stream -> Void;
    begin_horizontal_else_vertical_box : Stream -> Void;
    begin_wrap_box : Stream -> Void;
    begin_wrap'_box : Stream -> Void;
    end_box : Stream -> Void;
    begin_indented_vertical_box : Stream -> Indent -> Void;
    begin_indented_horizontal_else_vertical_box : Stream -> Indent -> Void;
    begin_indented_wrap_box : Stream -> Indent -> Void;
    begin_indented_wrap'_box : Stream -> Indent -> Void;
    horizontal_box : Stream -> (Void -> Void) -> Void;
    vertical_box : Stream -> (Void -> Void) -> Void;
    horizontal_else_vertical_box : Stream -> (Void -> Void) -> Void;
    wrap_box : Stream -> (Void -> Void) -> Void;
    wrap'_box : Stream -> (Void -> Void) -> Void;
    token : Stream -> Token -> Void;
    string : Stream -> String -> Void;
    push_style : (Stream , Style) -> Void;
    pop_style : Stream -> Void;
    break : Stream -> {indent_on_wrap:Int,  spaces:Int} -> Void;
    space : Stream -> Int -> Void;
    cut : Stream -> Void;
    newline : Stream -> Void;
    nonbreakable_spaces : Stream -> Int -> Void;
    control : Stream -> (Device -> Void) -> Void;
    with_prettyprint_device : Device -> (Stream -> Void) -> Void;
    prettyprint_to_string : Int -> (Stream -> X -> Void) -> X -> String;
};


Comments and suggestions to: bugs@mythryl.org

PreviousUpNext