diff options
Diffstat (limited to 'lib/reline/ansi.rb')
-rw-r--r-- | lib/reline/ansi.rb | 87 |
1 files changed, 0 insertions, 87 deletions
diff --git a/lib/reline/ansi.rb b/lib/reline/ansi.rb deleted file mode 100644 index f34c4207e5..0000000000 --- a/lib/reline/ansi.rb +++ /dev/null @@ -1,87 +0,0 @@ -module Reline - def getc - c = nil - until c - return nil if @line_editor.finished? - result = select([$stdin], [], [], 0.1) - next if result.nil? - c = $stdin.read(1) - end - c.ord - end - - def self.get_screen_size - $stdin.winsize - end - - def self.set_screen_size(rows, columns) - $stdin.winsize = [rows, columns] - self - end - - def self.cursor_pos - res = '' - $stdin.raw do |stdin| - $stdout << "\e[6n" - $stdout.flush - while (c = stdin.getc) != 'R' - res << c if c - end - end - m = res.match(/(?<row>\d+);(?<column>\d+)/) - CursorPos.new(m[:column].to_i - 1, m[:row].to_i - 1) - end - - def self.move_cursor_column(x) - print "\e[#{x + 1}G" - end - - def self.move_cursor_up(x) - if x > 0 - print "\e[#{x}A" if x > 0 - elsif x < 0 - move_cursor_down(-x) - end - end - - def self.move_cursor_down(x) - if x > 0 - print "\e[#{x}B" if x > 0 - elsif x < 0 - move_cursor_up(-x) - end - end - - def self.erase_after_cursor - print "\e[K" - end - - def self.scroll_down(x) - return if x.zero? - print "\e[#{x}S" - end - - def self.clear_screen - print "\e[2J" - print "\e[1;1H" - end - - def prep - int_handle = Signal.trap('INT', 'IGNORE') - otio = `stty -g`.chomp - setting = ' -echo -icrnl cbreak' - if (`stty -a`.scan(/-parenb\b/).first == '-parenb') - setting << ' pass8' - end - setting << ' -ixoff' - `stty #{setting}` - Signal.trap('INT', int_handle) - otio - end - - def deprep(otio) - int_handle = Signal.trap('INT', 'IGNORE') - `stty #{otio}` - Signal.trap('INT', int_handle) - end -end |