我读过sbt documentation on Commands,想知道^^^
和~>
是什么意思?
我试着谷歌但没有发现,这些字符被谷歌逃脱我猜...非常感谢
// Demonstration of a custom parser.
// The command changes the foreground or background terminal color
// according to the input.
lazy val change = Space ~> (reset | setColor)
lazy val reset = token("reset" ^^^ "\033[0m")
lazy val color = token( Space ~> ("blue" ^^^ "4" | "green" ^^^ "2") )
lazy val select = token( "fg" ^^^ "3" | "bg" ^^^ "4" )
lazy val setColor = (select ~ color) map { case (g, c) => "\033[" + g + c + "m" }
def changeColor = Command("color")(_ => change) { (state, ansicode) =>
print(ansicode)
state
}
完整代码在http://www.scala-sbt.org/0.13/docs/Commands.html
处为project/CommandExample.scala
示例
答案 0 :(得分:7)
这些是RichParser类的方法。
请参阅http://www.scala-sbt.org/0.13/api/#sbt.complete.RichParser
提示。如果您寻找符号方法,请点击'#'在api doc页面的左上角。
^^^[B](value: B): Parser[B]
:应用原始Parser,但如果成功则提供值。~>[B](b: Parser[B]): Parser[B]
:生成应用原始Parser的Parser,然后应用next(按顺序),丢弃原始解析器的结果。