module Curses

Constants

KEY_CTRL_LEFT
KEY_CTRL_RIGHT

Public Class Methods

abort(msg) click to toggle source
# File lib/rodo/curses_util.rb, line 277
def self.abort(msg)

  Curses.close_screen
  puts "Traceback (most recent call last):"
  puts caller.each_with_index.map { |s, i| "#{(i+1).to_s.rjust(9)}: from #{s}" }.reverse
  puts msg
  Kernel.exit(-1)

end
bracketed_paste() click to toggle source

Switch on bracketed paste mode and reset it at end of application

# File lib/rodo/curses_util.rb, line 27
def self.bracketed_paste
  print("\x1b[?2004h")
  at_exit {
    print("\x1b[?2004l")
  }
end
ch2key(ch) click to toggle source
# File lib/rodo/curses_util.rb, line 264
def self.ch2key(ch)

  if !defined?(@@map)
    @@map = {}
    Curses.constants(false).each { |s|
      c = Curses.const_get(s)
      @@map[c] ||= []
      @@map[c] << s
    }
  end
  @@map[ch]
end
char_info(char) click to toggle source
# File lib/rodo/curses_util.rb, line 250
def self.char_info(char)

  case char
  when Integer
    key = Curses::ch2key(char)
    return "Char: #{char} - Class Integer " + (key != nil ? "Constant: #{key}" : "To chr(): #{char.chr}")

  # when String

  else
    return "Char: #{char.inspect} - Class: #{char.class}"
  end
end
cputs(string) click to toggle source
# File lib/rodo/curses_util.rb, line 235
def self.cputs(string)
  w = stdscr.inset
  w.puts string
  w.getch
  w.close
end
debug(message) click to toggle source
# File lib/rodo/curses_util.rb, line 18
def self.debug message
  if @@debug_win
    @@debug_win.puts message
    @@debug_win.refresh
  end
end
debug_win() click to toggle source
# File lib/rodo/curses_util.rb, line 14
def self.debug_win
  @@debug_win
end
debug_win=(debug_win) click to toggle source
# File lib/rodo/curses_util.rb, line 10
def self.debug_win= debug_win
  @@debug_win = debug_win
end

Public Instance Methods

bracketed_paste() click to toggle source

Enable bracketed paste mode and reset it upon exit

# File lib/rodo/curses_util.rb, line 243
def bracketed_paste
  print("\x1b[?2004h")
  at_exit {
    print("\x1b[?2004l")
  }
end