在sbt中`^^^`和`〜>`的意思是什么

key*_*int 1 scala sbt

我正在阅读关于命令sbt文档,并想知道做什么^^^~>意味着什么?

我试图谷歌但没有发现,这些字符被谷歌逃脱我猜...非常感谢

  // 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
  }
Run Code Online (Sandbox Code Playgroud)

完整代码project/CommandExample.scalahttp://www.scala-sbt.org/0.13/docs/Commands.html上作为示例

Jan*_*Jan 8

这些是RichParser类的方法.

http://www.scala-sbt.org/0.13/api/#sbt.complete.RichParser

暗示.如果您查找符号方法,请单击api doc页面左上角的"#".

  • ^^^[B](value: B): Parser[B]:应用原始分析器,但如果成功则提供值作为结果.
  • ~>[B](b: Parser[B]): Parser[B]:生成应用原始Parser的Parser,然后应用next(按顺序),丢弃原始解析器的结果.