Minor point. Its much cleaner to write multiple text like usage as follows.

val usage = 
    """
      |Usage: DriverClient [options] launch <active-master> <jar-url> <main-class> [driver options]
      |Usage: DriverClient kill <active-master> <driver-id>
      |
      |Options:
      |   -c CORES, --cores CORES                Number of cores to request
      |   -m MEMORY, --memory MEMORY             Megabytes of memory to request
      |   -s, --supervise                        Whether to restart the driver on failure
    """.stripMargin