mirror of https://github.com/sbt/sbt.git
Don't require newlines for main classes
There typically are fewer than 10 main classes in a project so allow the user to just input a single digit in those cases. Otherwise fallback to a line reader.
This commit is contained in:
parent
44ef718448
commit
c7b52203a0
|
|
@ -1486,7 +1486,24 @@ object Defaults extends BuildCommon {
|
|||
}
|
||||
|
||||
def askForMainClass(classes: Seq[String]): Option[String] =
|
||||
sbt.SelectMainClass(Some(SimpleReader readLine _), classes)
|
||||
sbt.SelectMainClass(
|
||||
if (classes.length >= 10) Some(SimpleReader.readLine(_))
|
||||
else
|
||||
Some(s => {
|
||||
def print(st: String) = { scala.Console.out.print(st); scala.Console.out.flush() }
|
||||
print(s)
|
||||
Terminal.withRawSystemIn {
|
||||
Terminal.wrappedSystemIn.read match {
|
||||
case -1 => None
|
||||
case b =>
|
||||
val res = b.toChar.toString
|
||||
println(res)
|
||||
Some(res)
|
||||
}
|
||||
}
|
||||
}),
|
||||
classes
|
||||
)
|
||||
|
||||
def pickMainClass(classes: Seq[String]): Option[String] =
|
||||
sbt.SelectMainClass(None, classes)
|
||||
|
|
|
|||
Loading…
Reference in New Issue