diff options
author | Jason Zaugg <jzaugg@gmail.com> | 2016-02-11 22:23:50 +1000 |
---|---|---|
committer | Jason Zaugg <jzaugg@gmail.com> | 2016-02-11 22:23:50 +1000 |
commit | 645506250208eb3fd75ce6ab925692adb068e553 (patch) | |
tree | 5c59d33da8de633e4f57c292d8b5ca31986e0c7d /project/ScalaOptionParser.scala | |
parent | fca51b24115ad17a26a144b394a18471ea356155 (diff) | |
parent | 39a858de7a65b70ae35ce460e7746cae5e4d3fc4 (diff) | |
download | scala-645506250208eb3fd75ce6ab925692adb068e553.tar.gz scala-645506250208eb3fd75ce6ab925692adb068e553.tar.bz2 scala-645506250208eb3fd75ce6ab925692adb068e553.zip |
Merge commit '39a858d' into topic/merge-2.11.x-to-2.12.x-20160210
Diffstat (limited to 'project/ScalaOptionParser.scala')
-rw-r--r-- | project/ScalaOptionParser.scala | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/project/ScalaOptionParser.scala b/project/ScalaOptionParser.scala index a11bd93d82..da8a3bf460 100644 --- a/project/ScalaOptionParser.scala +++ b/project/ScalaOptionParser.scala @@ -63,19 +63,20 @@ object ScalaOptionParser { ++ scaladocPathSettingNames.map(PathSetting) ++ scaladocMultiStringSettingNames.map(MultiStringSetting) ) - val ScalaDocOpt = sourceFile | ScalaOpt | ScalaDocExtraSettings + val ScalaDocOpt = ScalacOpt | ScalaDocExtraSettings - entryPoint match { + val P = entryPoint match { case "scala" => val runnable = token(StringBasicNotStartingWithDash, TokenCompletions.displayOnly("<script|class|object|jar>")).filter(!_.startsWith("-"), x => x) val runnableAndArgs = concat(runnable ~ Opt(concat(Space.string ~ repsep(token(StringBasic, TokenCompletions.displayOnly("<arg>")), Space).map(_.mkString(" "))))) - val options = repsep(ScalaOpt, Space).map(_.mkString(" ")) - Opt(Space ~> EitherOr(options, runnableAndArgs)) + val options = rep1sep(ScalaOpt, Space).map(_.mkString(" ")) + Opt(Space ~> (options | concat(concat(options ~ Space.string) ~ runnableAndArgs) | runnableAndArgs)) case "scaladoc" => Opt(Space ~> Opt(repsep(ScalaDocOpt, Space).map(_.mkString(" ")))) case "scalac" => Opt(Space ~> repsep(ScalacOpt, Space).map(_.mkString(" "))) } + P <~ token(OptSpace) } // TODO retrieve this data programatically, ala https://github.com/scala/scala-tool-support/blob/master/bash-completion/src/main/scala/BashCompletion.scala |