Sha256: 22554557e8fbbf2604957dae05b39fc76d48b13211bf757351c4f585c53d6a4c

Contents?: true

Size: 938 Bytes

Versions: 6

Compression:

Stored size: 938 Bytes

Contents

module IRB
  class Irb
    def output_value
      FancyIrb.output_value(@context, @scanner)
    end

    alias prompt_non_fancy prompt
    def prompt(*args, &block)
      FancyIrb.handle_prompt(
        prompt_non_fancy(*args, &block),
        IRB.conf[:AUTO_INDENT] ? @scanner.instance_variable_get(:@indent) * 2 : 0,
        IRB.conf[:AUTO_INDENT] && IRB.conf[:PROMPT][IRB.conf[:PROMPT_MODE]][:PROMPT_C] == args[0]
      )
    end

    alias signal_status_non_fancy signal_status
    def signal_status(name, *args, &block)
      FancyIrb.reset_line!
      signal_status_non_fancy(name, *args, &block)
    ensure
      if name == :IN_EVAL
        FancyIrb.present_and_clear_captured_error!
      end
    end
  end

  class Context
    alias evaluate_non_fancy evaluate

    def evaluate(*args, **kwargs)
      evaluate_non_fancy(*args, **kwargs)
    rescue Exception
      FancyIrb.register_error_capturer!
      raise
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
fancy_irb-1.4.3 lib/fancy_irb/irb_ext.rb
fancy_irb-1.4.2 lib/fancy_irb/irb_ext.rb
fancy_irb-1.4.1 lib/fancy_irb/irb_ext.rb
fancy_irb-1.4.0 lib/fancy_irb/irb_ext.rb
fancy_irb-1.3.0 lib/fancy_irb/irb_ext.rb
fancy_irb-1.2.1 lib/fancy_irb/irb_ext.rb