Sha256: 4d146f5a1aacf90bed5bf134d55a6f4d35e10c1d15eed393665db0c630b7b77b
Contents?: true
Size: 408 Bytes
Versions: 13
Compression:
Stored size: 408 Bytes
Contents
module Rainbow class StringUtils def self.wrap_with_sgr(string, codes) return string if codes.empty? seq = "\e[" + codes.join(";") + "m" match = string.match(/^(\e\[([\d;]+)m)*/) seq_pos = match.end(0) string = string[0...seq_pos] + seq + string[seq_pos..-1] unless string =~ /\e\[0m$/ string = string + "\e[0m" end string end end end
Version data entries
13 entries across 13 versions & 4 rubygems