Sha256: d440669c3ee5b3b57eb0c67af7fc49aca02274626faa0b776db1596b08752e44

Contents?: true

Size: 812 Bytes

Versions: 23

Compression:

Stored size: 812 Bytes

Contents

# frozen_string_literal: true

require 'polyphony'

if Object.constants.include?(:Reline)
  class Reline::ANSI
    def self.select(read_ios = [], write_ios = [], error_ios = [], timeout = nil)
      p [:select, read_ios]
      raise if read_ios.size > 1
      raise if write_ios.size > 0
      raise if error_ios.size > 0

      fiber = Fiber.current
      timer = spin do
        sleep timeout
        fiber.cancel
      end
      read_ios.each do |io|
        Polyphony.backend_wait_io(io, false)
        return [io]
      end
    rescue Polyphony::Cancel
      return nil
    ensure
      timer.stop
    end
  end
else
  require_relative './readline'

  # RubyLex patches
  class ::RubyLex
    class TerminateLineInput2 < RuntimeError
    end
    const_set(:TerminateLineInput, TerminateLineInput2)
  end
end

Version data entries

23 entries across 23 versions & 1 rubygems

Version Path
polyphony-0.71 lib/polyphony/adapters/irb.rb
polyphony-0.70 lib/polyphony/adapters/irb.rb
polyphony-0.69 lib/polyphony/adapters/irb.rb
polyphony-0.68 lib/polyphony/adapters/irb.rb
polyphony-0.67 lib/polyphony/adapters/irb.rb
polyphony-0.66 lib/polyphony/adapters/irb.rb
polyphony-0.65 lib/polyphony/adapters/irb.rb
polyphony-0.64 lib/polyphony/adapters/irb.rb
polyphony-0.63 lib/polyphony/adapters/irb.rb
polyphony-0.62 lib/polyphony/adapters/irb.rb
polyphony-0.61 lib/polyphony/adapters/irb.rb
polyphony-0.60 lib/polyphony/adapters/irb.rb
polyphony-0.59.1 lib/polyphony/adapters/irb.rb
polyphony-0.59 lib/polyphony/adapters/irb.rb
polyphony-0.58 lib/polyphony/adapters/irb.rb
polyphony-0.57.0 lib/polyphony/adapters/irb.rb
polyphony-0.56.0 lib/polyphony/adapters/irb.rb
polyphony-0.55.0 lib/polyphony/adapters/irb.rb
polyphony-0.54.0 lib/polyphony/adapters/irb.rb
polyphony-0.53.2 lib/polyphony/adapters/irb.rb