Sha256: dfbfeb91035e74b2ae2718a8b3a72325981c99b772d1149c0d4f116a486b21ae
Contents?: true
Size: 1.14 KB
Versions: 2
Compression:
Stored size: 1.14 KB
Contents
# This extension does not include itself automatically, # require 'repper/core_ext/regexp' to do so. module Repper ALREADY_COLORED_MARK = :@__already_colored__ module RegexpExt def inspect Repper.prevent_color_override_by_repl str = Repper.render(self) str.instance_variable_set(Repper::ALREADY_COLORED_MARK, true) str rescue => e warn "Error in Repper:\n#{e.message}\n#{e.class} @ #{e.backtrace[0]}" super end end def self.prevent_color_override_by_repl # Must be applied lazily because REPLs may be loaded after dependencies. return if @prevented_color_override if defined?(::IRB::Color) ::IRB::Color.singleton_class.prepend(IRBExt) end if defined?(::Pry::SyntaxHighlighter) ::Pry::SyntaxHighlighter.singleton_class.prepend(PryExt) end @prevented_color_override = true end module IRBExt def colorize_code(v, *args, **kwars, &blk) v&.instance_variable_get(ALREADY_COLORED_MARK) ? v : super end end module PryExt def highlight(v, *args, **kwars, &blk) v&.instance_variable_get(ALREADY_COLORED_MARK) ? "\n#{v}" : super end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
repper-1.1.0 | lib/repper/core_ext/regexp_ext.rb |
repper-1.0.0 | lib/repper/core_ext/regexp_ext.rb |