diff --git a/main-command/src/main/scala/sbt/BasicCommands.scala b/main-command/src/main/scala/sbt/BasicCommands.scala index 318c9b763..4be061c7e 100644 --- a/main-command/src/main/scala/sbt/BasicCommands.scala +++ b/main-command/src/main/scala/sbt/BasicCommands.scala @@ -88,13 +88,17 @@ object BasicCommands { def templateCommand = Command.make(TemplateCommand, templateBrief, templateDetailed)(templateCommandParser) def templateCommandParser(state: State) = { - val p = token(Space).* ~> repsep(StringBasic, token(Space)) + val p = (token(Space) ~> repsep(StringBasic, token(Space))) | (token(EOF) map { case _ => Nil }) val trs = (state get templateResolvers) match { case Some(trs) => trs.toList case None => Nil } applyEffect(p)({ inputArg => - val arguments = inputArg.toList ++ state.remainingCommands + val arguments = inputArg.toList ++ + (state.remainingCommands.toList match { + case "shell" :: Nil => Nil + case xs => xs + }) trs find { tr => tr.isDefined(arguments.toArray) } match {