U:RDoc::NormalClass[iI"PrettyPrint:ET@I" Object;To:RDoc::Markup::Document: @parts[o;;[o:RDoc::Markup::Paragraph;[I"QThis class implements a pretty printing algorithm. It finds line breaks and ;TI"-nice indentations for grouped structure.;To:RDoc::Markup::BlankLineo; ;[I"PBy default, the class assumes that primitive elements are strings and each ;TI"Mbyte in the strings have single column in width. But it can be used for ;TI"Dother situations by giving suitable arguments for some methods:;To:RDoc::Markup::List: @type: BULLET: @items[o:RDoc::Markup::ListItem: @label0;[o; ;[I"Bnewline object and space generation block for PrettyPrint.new;To;;0;[o; ;[I"1optional width argument for PrettyPrint#text;To;;0;[o; ;[I"PrettyPrint#breakable;T@o; ;[I"&There are several candidate uses:;To; ; ; ;[o;;0;[o; ;[I"-text formatting using proportional fonts;To;;0;[o; ;[I"Hmultibyte characters which has columns different to number of bytes;To;;0;[o; ;[I"non-string formatting;T@S:RDoc::Markup::Heading: leveli: textI" Bugs;To; ; ; ;[o;;0;[o; ;[I"Box based formatting?;To;;0;[o; ;[I"$Other (better) model/algorithm?;T@o; ;[I"1Report any bugs at http://bugs.ruby-lang.org;T@S;;i;I"References;To; ;[I"4Christian Lindig, Strictly Pretty, March 2000, ;TI"6http://www.st.cs.uni-sb.de/~lindig/papers/#pretty;T@o; ;[I"4Philip Wadler, A prettier printer, March 1998, ;TI"Nhttp://homepages.inf.ed.ac.uk/wadler/topics/language-design.html#prettier;T@S;;i;I" Author;To; ;[I" Tanaka Akira ;T: @fileI"lib/prettyprint.rb;T:0@omit_headings_from_table_of_contents_below0;0;0[ [ I" genspace;TI"R;T: publicFI"lib/prettyprint.rb;T[ I"group_queue;TI"R;T;F@a[ I" indent;TI"R;T;F@a[ I" maxwidth;TI"R;T;F@a[ I" newline;TI"R;T;F@a[ I" output;TI"R;T;F@a[[[[I" class;T[[;[[I" format;F@a[I"new;T@a[I"singleline_format;F@a[:protected[[: private[[I" instance;T[[;[[I"break_outmost_groups;F@a[I"breakable;F@a[I"current_group;F@a[I"fill_breakable;F@a[I" flush;F@a[I" group;F@a[I"group_sub;F@a[I" nest;F@a[I" text;F@a[;[[;[[[U:RDoc::Context::Section[i0o;;[;0;0[@\@\cRDoc::TopLevel