class DEBUGGER__::Client

def connect_unix name = nil

def connect_unix name = nil
  if name
    if File.exist? name
      @s = Socket.unix(name)
    else
      @s = Socket.unix(File.join(DEBUGGER__.unix_domain_socket_dir, name))
    end
  else
    Client.cleanup_unix_domain_sockets
    files = Client.list_connections verbose: true
    case files.size
    when 0
      $stderr.puts "No debug session is available."
      exit
    when 1
      @s = Socket.unix(files.first.first)
    else
      $stderr.puts "Please select a debug session:"
      files.each{|(f, desc)|
        $stderr.puts "  #{File.basename(f)} (#{desc})"
      }
      exit
    end
  end
end