Actions
Feature #13047
openUse String literal instead of `String#+` for multiline pretty-printing of multiline strings
Description
Multiline pretty-printing of multiline strings is introduced. (https://bugs.ruby-lang.org/issues/12664)
> 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"}
It is awesome but we can use String literal instead of String#+
:
> 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"}
It seems that pp
want to output evaluable snippet but we can override String#+
so it may not work well.
Non-broken String will be:
> pp "bundler.rb"=> "module Bundler\nend\n"
{"bundler.rb"=> "module Bundler\n" "end\n"}
How do you think?
I tried to write patch but I can't find a way to append "" to broken line only by current PP's API.
Actions
Like0
Like0Like0