Class: Thor::Shell::Basic

Inherits:
Object
  • Object
show all
Defined in:
lib/sambot/base_command.rb

Direct Known Subclasses

Color

Instance Method Summary collapse

Instance Method Details



8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/sambot/base_command.rb', line 8

def print_wrapped(message, options = {})
  indent = options[:indent] || 0
  width = 100 - indent
  paras = message.split("\n\n")

  paras.map! do |unwrapped|
    unwrapped.strip.tr("\n", ' ').squeeze(' ').gsub(/.{1,#{width}}(?:\s|\Z)/) { ($& + 5.chr).gsub(/\n\005/, "\n").gsub(/\005/, "\n") }
  end

  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