Sha256: 37c8a97169e63f67aca6713a03e996041fddc2da1b6399f5c26f625fb41a9892
Contents?: true
Size: 787 Bytes
Versions: 2
Compression:
Stored size: 787 Bytes
Contents
module WindowBlessing class XtermInput attr_reader :event_parser def initialize @event_parser = XtermEventParser.new end def read_events events = [] if raw = read_pending_input parsed = event_parser.parse(raw) if parsed new_events = parsed.events events += new_events new_events.length else events << {:type => :event_parser_failure, :raw => raw, :failure_info => event_parser.parser_failure_info} end end events end private def read_pending_input read = nil begin while c = STDIN.read_nonblock(1000) read = read ? read + c : c end rescue Errno::EAGAIN # nothing was ready to be read rescue Errno::EINTR rescue EOFError end read end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
window_blessing-0.0.4 | lib/window_blessing/xterm_input.rb |
window_blessing-0.0.1 | lib/window_blessing/xterm_input.rb |