Class: Thor::Shell::WrappedPrinter
- Inherits:
-
ColumnPrinter
- Object
- ColumnPrinter
- Thor::Shell::WrappedPrinter
- Defined in:
- lib/thor/shell/wrapped_printer.rb
Instance Attribute Summary
Attributes inherited from ColumnPrinter
Instance Method Summary collapse
Methods inherited from ColumnPrinter
Constructor Details
This class inherits a constructor from Thor::Shell::ColumnPrinter
Instance Method Details
#print(message) ⇒ Object
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/thor/shell/wrapped_printer.rb', line 7 def print() width = Terminal.terminal_width - @indent paras = .split("\n\n") paras.map! do |unwrapped| words = unwrapped.split(" ") counter = words.first.length words.inject do |memo, word| word = word.gsub(/\n\005/, "\n").gsub(/\005/, "\n") counter = 0 if word.include? "\n" if (counter + word.length + 1) < width memo = "#{memo} #{word}" counter += (word.length + 1) else memo = "#{memo}\n#{word}" counter = word.length end memo end end.compact! paras.each do |para| para.split("\n").each do |line| stdout.puts line.insert(0, " " * @indent) end stdout.puts unless para == paras.last end end |