class DEBUGGER__::Session

def repl_add_breakpoint arg

def repl_add_breakpoint arg
  expr = parse_break 'break', arg.strip
  cond = expr[:if]
  cmd  = expr[:cmd]
  path = expr[:path]
  case expr[:sig]
  when /\A(\d+)\z/
    add_line_breakpoint @tc.location.path, $1.to_i, cond: cond, command: cmd
  when /\A(.+)[:\s+](\d+)\z/
    add_line_breakpoint $1, $2.to_i, cond: cond, command: cmd
  when /\A(.+)([\.\#])(.+)\z/
    request_tc [:breakpoint, :method, $1, $2, $3, cond, cmd, path]
    return :noretry
  when nil
    add_check_breakpoint cond, path, cmd
  else
    @ui.puts "Unknown breakpoint format: #{arg}"
    @ui.puts
    show_help 'b'
  end
end