From ea8990d8670f71d6b1fa3d55086c9f147348452c Mon Sep 17 00:00:00 2001 From: akr Date: Tue, 11 Oct 2016 07:44:58 +0000 Subject: pp prints a multiple lines string prettier. * lib/pp.rb (String#pretty_print): Defined to print a string as multiple lines. [ruby-core:76800] [Feature#12664] proposed by Petr Chalupa. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56391 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- lib/pp.rb | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'lib/pp.rb') diff --git a/lib/pp.rb b/lib/pp.rb index 9678774b8c..5356b7ce25 100644 --- a/lib/pp.rb +++ b/lib/pp.rb @@ -418,6 +418,21 @@ class Range # :nodoc: end end +class String + def pretty_print(q) + lines = self.lines + if lines.size > 1 + q.group(0, '', '') do + q.seplist(lines, lambda { q.text ' +'; q.breakable }) do |v| + q.pp v + end + end + else + q.text inspect + end + end +end + class File < IO # :nodoc: class Stat # :nodoc: def pretty_print(q) # :nodoc: -- cgit v1.2.3