Sha256: 97921b20d0fef5578a2090aa69e8a366f4fe9cb4efa1e277df02500376bd36b2

Contents?: true

Size: 857 Bytes

Versions: 15

Compression:

Stored size: 857 Bytes

Contents

# frozen_string_literal: true

class HighLine
  class Terminal
    # io/console option for HighLine::Terminal.
    # It's the most used terminal.
    # TODO: We're rescuing when not a terminal.
    #       We should make a more robust implementation.
    class IOConsole < Terminal
      # (see Terminal#terminal_size)
      def terminal_size
        output.winsize.reverse
      rescue Errno::ENOTTY
      end

      # (see Terminal#raw_no_echo_mode)
      def raw_no_echo_mode
        input.echo = false
      rescue Errno::ENOTTY
      end

      # (see Terminal#restore_mode)
      def restore_mode
        input.echo = true
      rescue Errno::ENOTTY
      end

      # (see Terminal#get_character)
      def get_character
        input.getch(intr: true) # from ruby io/console
      rescue Errno::ENOTTY
        input.getc
      end
    end
  end
end

Version data entries

15 entries across 14 versions & 4 rubygems

Version Path
trusty-cms-7.0.9.1 vendor/bundle/ruby/3.3.0/gems/highline-3.1.1/lib/highline/terminal/io_console.rb
trusty-cms-7.0.9.1 vendor/bundle/ruby/3.1.0/gems/highline-3.1.1/lib/highline/terminal/io_console.rb
highline-3.1.2 lib/highline/terminal/io_console.rb
brakeman-7.0.0 bundle/ruby/3.1.0/gems/highline-3.1.1/lib/highline/terminal/io_console.rb
brakeman-6.2.2 bundle/ruby/3.1.0/gems/highline-3.1.1/lib/highline/terminal/io_console.rb
brakeman-6.2.2.rc1 bundle/ruby/3.3.0/gems/highline-3.1.1/lib/highline/terminal/io_console.rb
highline-3.1.1 lib/highline/terminal/io_console.rb
brakeman-6.2.1 bundle/ruby/3.1.0/gems/highline-3.1.0/lib/highline/terminal/io_console.rb
brakeman-6.2.0 bundle/ruby/3.1.0/gems/highline-3.1.0/lib/highline/terminal/io_console.rb
blacklight-spotlight-3.6.0.beta8 vendor/bundle/ruby/3.2.0/gems/highline-3.0.1/lib/highline/terminal/io_console.rb
highline-3.1.0 lib/highline/terminal/io_console.rb
brakeman-6.1.2 bundle/ruby/3.3.0/gems/highline-3.0.1/lib/highline/terminal/io_console.rb
highline-3.0.1 lib/highline/terminal/io_console.rb
highline-3.0.0 lib/highline/terminal/io_console.rb
highline-3.0.0.pre.1 lib/highline/terminal/io_console.rb