Class: Reline::Dumb
Relationships & Source Files | |
Super Chains via Extension / Inclusion / Inheritance | |
Class Chain:
self,
IO
|
|
Instance Chain:
self,
IO
|
|
Inherits: |
Reline::IO
|
Defined in: | lib/reline/io/dumb.rb |
Constant Summary
-
RESET_COLOR =
Do not send color reset sequence
''
IO
- Inherited
Class Method Summary
Instance Attribute Summary
- #dumb? ⇒ Boolean readonly
- #in_pasting? ⇒ Boolean readonly
- #input=(val) writeonly
- #output=(value) writeonly
IO
- Inherited
Instance Method Summary
- #buffered_output
- #clear_screen
- #cursor_pos
- #deprep(otio)
- #encoding
- #erase_after_cursor
- #get_screen_size
- #getc(_timeout_second)
- #hide_cursor
- #move_cursor_column(val)
- #move_cursor_down(val)
- #move_cursor_up(val)
- #prep
- #scroll_down(val)
- #set_default_key_bindings(_)
- #set_screen_size(rows, columns)
- #set_winch_handler(&handler)
- #show_cursor
- #ungetc(c)
- #with_raw_input
- #write(string)
IO
- Inherited
Constructor Details
.new(encoding: nil) ⇒ Dumb
# File 'lib/reline/io/dumb.rb', line 8
def initialize(encoding: nil) @input = STDIN @output = STDOUT @buf = [] @pasting = false @encoding = encoding @screen_size = [24, 80] end
Instance Attribute Details
#dumb? ⇒ Boolean
(readonly)
[ GitHub ]
# File 'lib/reline/io/dumb.rb', line 17
def dumb? true end
#in_pasting? ⇒ Boolean
(readonly)
[ GitHub ]
# File 'lib/reline/io/dumb.rb', line 111
def in_pasting? @pasting end
#input=(val) (writeonly)
[ GitHub ]# File 'lib/reline/io/dumb.rb', line 37
def input=(val) @input = val end
#output=(value) (writeonly)
[ GitHub ]# File 'lib/reline/io/dumb.rb', line 6
attr_writer :output
Instance Method Details
#buffered_output
[ GitHub ]# File 'lib/reline/io/dumb.rb', line 49
def buffered_output yield end
#clear_screen
[ GitHub ]# File 'lib/reline/io/dumb.rb', line 101
def clear_screen end
#cursor_pos
[ GitHub ]#deprep(otio)
[ GitHub ]# File 'lib/reline/io/dumb.rb', line 118
def deprep(otio) end
#encoding
[ GitHub ]# File 'lib/reline/io/dumb.rb', line 21
def encoding if @encoding @encoding elsif RUBY_PLATFORM =~ /mswin|mingw/ Encoding::UTF_8 else @input.external_encoding || Encoding.default_external end rescue IOError # STDIN.external_encoding raises IOError in Ruby <= 3.0 when STDIN is closed Encoding.default_external end
#erase_after_cursor
[ GitHub ]# File 'lib/reline/io/dumb.rb', line 95
def erase_after_cursor end
#get_screen_size
[ GitHub ]# File 'lib/reline/io/dumb.rb', line 72
def get_screen_size @screen_size end
#getc(_timeout_second)
[ GitHub ]# File 'lib/reline/io/dumb.rb', line 53
def getc(_timeout_second) unless @buf.empty? return @buf.shift end c = nil loop do Reline.core.line_editor.handle_signal result = @input.wait_readable(0.1) next if result.nil? c = @input.read(1) break end c&.ord end
#hide_cursor
[ GitHub ]# File 'lib/reline/io/dumb.rb', line 80
def hide_cursor end
#move_cursor_column(val)
[ GitHub ]# File 'lib/reline/io/dumb.rb', line 86
def move_cursor_column(val) end
#move_cursor_down(val)
[ GitHub ]# File 'lib/reline/io/dumb.rb', line 92
def move_cursor_down(val) end
#move_cursor_up(val)
[ GitHub ]# File 'lib/reline/io/dumb.rb', line 89
def move_cursor_up(val) end
#prep
[ GitHub ]# File 'lib/reline/io/dumb.rb', line 115
def prep end
#scroll_down(val)
[ GitHub ]# File 'lib/reline/io/dumb.rb', line 98
def scroll_down(val) end
#set_default_key_bindings(_)
[ GitHub ]# File 'lib/reline/io/dumb.rb', line 34
def set_default_key_bindings(_) end
#set_screen_size(rows, columns)
[ GitHub ]# File 'lib/reline/io/dumb.rb', line 104
def set_screen_size(rows, columns) @screen_size = [rows, columns] end
#set_winch_handler(&handler)
[ GitHub ]# File 'lib/reline/io/dumb.rb', line 108
def set_winch_handler(&handler) end
#show_cursor
[ GitHub ]# File 'lib/reline/io/dumb.rb', line 83
def show_cursor end
#ungetc(c)
[ GitHub ]# File 'lib/reline/io/dumb.rb', line 68
def ungetc(c) @buf.unshift(c) end
#with_raw_input
[ GitHub ]# File 'lib/reline/io/dumb.rb', line 41
def with_raw_input yield end
#write(string)
[ GitHub ]# File 'lib/reline/io/dumb.rb', line 45
def write(string) @output.write(string) end