lib/pytty/client/cli/stream_command.rb in pytty-0.2.0 vs lib/pytty/client/cli/stream_command.rb in pytty-0.3.0
- old
+ new
@@ -9,9 +9,40 @@
module Client
module Cli
class StreamCommand < Clamp::Command
parameter "CMD ...", "command"
def execute
+
+ $stdin.raw!
+ $stdin.echo = false
+ Async::Reactor.run do |task|
+ async_stdin = Async::IO::Stream.new(
+ Async::IO::Generic.new($stdin)
+ )
+
+ while c = async_stdin.read(1) do
+ case c
+ when "\x01"
+ print "\r"
+ when "\x03"
+ puts "\r\n\nctrl+c\n\r"
+ break
+ when "\r"
+ print "\n\r"
+ when "\e"
+ print c
+ print async_stdin.read(2)
+ else
+ print c.inspect
+# print c
+# p c
+ end
+ end
+ end
+
+ exit 0
+
+ #---------------
env = {
"LINES" => IO.console.winsize.first.to_s,
"COLUMNS" => IO.console.winsize.last.to_s
}