module PiotrbCliUtils::CmdLoop
Public Instance Methods
run_cmd_loop(prompt = '=> ') { |line| ... }
click to toggle source
# File lib/piotrb_cli_utils/cmd_loop.rb, line 5 def run_cmd_loop(prompt = '=> ') reader = TTY::Reader.new(interrupt: :noop) reader.on(:keyctrl_c, :keyescape) do return :abort end reader.on(:keyctrl_d) do return :eof end catch(:stop) do loop do line = reader.read_line(prompt) line.strip! yield(line) end end || :stopped end