This commit is contained in:
@@ -0,0 +1,22 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
module Rainbow
|
||||
class StringUtils
|
||||
def self.wrap_with_sgr(string, codes)
|
||||
return string if codes.empty?
|
||||
|
||||
seq = "\e[" + codes.join(";") + "m"
|
||||
|
||||
string = string.sub(/^(\e\[([\d;]+)m)*/) { |m| m + seq }
|
||||
|
||||
return string if string.end_with? "\e[0m"
|
||||
|
||||
string + "\e[0m"
|
||||
end
|
||||
|
||||
def self.uncolor(string)
|
||||
# See http://www.commandlinefu.com/commands/view/3584/remove-color-codes-special-characters-with-sed
|
||||
string.gsub(/\e\[[0-9;]*m/, '')
|
||||
end
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user