[ruby-core:76800] [CommonRuby Feature#12664] Multiline pretty-printing of multiline strings

From: email@...
Date: 2016-08-09 18:23:27 UTC
List: ruby-core #76800
Issue #12664 has been reported by Petr Chalupa.

----------------------------------------
Feature #12664: Multiline pretty-printing of multiline strings
https://bugs.ruby-lang.org/issues/12664

* Author: Petr Chalupa
* Status: Open
* Priority: Normal
* Assignee: Akira Tanaka
----------------------------------------
With following addition

~~~ ruby
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
~~~

a multiline String will print as follows

~~~ text
[9] pry(main)> pp "bundler.rb"=> "module Bundler\n  BundlerError = Class.new(Exception)\n  def self.setup\n  end\nend\n"
{"bundler.rb"=>
  "module Bundler\n" +
  "  BundlerError = Class.new(Exception)\n" +
  "  def self.setup\n" +
  "  end\n" +
  "end\n"}
~~~





-- 
https://bugs.ruby-lang.org/

Unsubscribe: <mailto:ruby-core-request@ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>

In This Thread

Prev Next