Sha256: de887cbddfc8f1c7dffacd1da7db77dd864414f63588c0b64df88931ca70f512

Contents?: true

Size: 525 Bytes

Versions: 6802

Compression:

Stored size: 525 Bytes

Contents

# 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

Version data entries

6,802 entries across 6,802 versions & 35 rubygems

Version Path
ory-client-0.0.1.alpha113 vendor/bundle/ruby/2.5.0/gems/rainbow-3.1.1/lib/rainbow/string_utils.rb
ory-client-0.0.1.alpha112 vendor/bundle/ruby/2.5.0/gems/rainbow-3.1.1/lib/rainbow/string_utils.rb
ory-client-0.0.1.alpha111 vendor/bundle/ruby/2.5.0/gems/rainbow-3.1.1/lib/rainbow/string_utils.rb
ory-client-0.0.1.alpha110 vendor/bundle/ruby/2.5.0/gems/rainbow-3.1.1/lib/rainbow/string_utils.rb
ory-client-0.0.1.alpha109 vendor/bundle/ruby/2.5.0/gems/rainbow-3.1.1/lib/rainbow/string_utils.rb
avalara_sdk-2.4.26 vendor/bundle/ruby/2.6.0/gems/rainbow-3.1.1/lib/rainbow/string_utils.rb
ory-client-0.0.1.alpha108 vendor/bundle/ruby/2.5.0/gems/rainbow-3.1.1/lib/rainbow/string_utils.rb
ory-oathkeeper-client-0.38.23.beta1 vendor/bundle/ruby/2.5.0/gems/rainbow-3.1.1/lib/rainbow/string_utils.rb
ory-oathkeeper-client-0.38.22.beta1 vendor/bundle/ruby/2.5.0/gems/rainbow-3.1.1/lib/rainbow/string_utils.rb
ory-client-0.0.1.alpha107 vendor/bundle/ruby/2.5.0/gems/rainbow-3.1.1/lib/rainbow/string_utils.rb
ory-hydra-client-1.11.7 vendor/bundle/ruby/2.5.0/gems/rainbow-3.1.1/lib/rainbow/string_utils.rb
ory-client-0.0.1.alpha106 vendor/bundle/ruby/2.5.0/gems/rainbow-3.1.1/lib/rainbow/string_utils.rb
ory-hydra-client-1.11.6 vendor/bundle/ruby/2.5.0/gems/rainbow-3.1.1/lib/rainbow/string_utils.rb
ory-keto-client-0.8.0.alpha1 vendor/bundle/ruby/2.5.0/gems/rainbow-3.1.1/lib/rainbow/string_utils.rb
ory-client-0.0.1.alpha105 vendor/bundle/ruby/2.5.0/gems/rainbow-3.1.1/lib/rainbow/string_utils.rb
ory-client-0.0.1.alpha104 vendor/bundle/ruby/2.5.0/gems/rainbow-3.1.1/lib/rainbow/string_utils.rb
ory-client-0.0.1.alpha103 vendor/bundle/ruby/2.5.0/gems/rainbow-3.1.1/lib/rainbow/string_utils.rb
ory-hydra-client-1.11.5 vendor/bundle/ruby/2.5.0/gems/rainbow-3.1.1/lib/rainbow/string_utils.rb
ory-client-0.0.1.alpha101 vendor/bundle/ruby/2.5.0/gems/rainbow-3.1.1/lib/rainbow/string_utils.rb
ory-client-0.0.1.alpha100 vendor/bundle/ruby/2.5.0/gems/rainbow-3.1.1/lib/rainbow/string_utils.rb