Shell喜欢使用sbt控制台的应用程序

时间:2014-11-27 16:45:57

标签: scala sbt

我想部署一些scala代码,与sbt控制台非常相似 (命令行界面,历史记录等) 并且想

  • 自定义
  • 并使其易于部署。

可以使用sbt控制台进行这些更改:

  • 删除了启动信息消息
  • 删除了scala欢迎消息
  • 自定义命令提示符而不是“scala>”成为“myApp>”
  • 无法访问本地或全球常春藤/ maven存储库(所有罐子 可用,包括sbt jar和依赖项)

有人通过这条路吗?

我试过了 Using sbt to build command line application 但到目前为止没有太大进展 (我猜这是非常相似的情况)

是否有现成的插件? 与sbt相关或无关的任何其他工具?

谢谢

2 个答案:

答案 0 :(得分:0)

实际上,不需要sbt。要进行调整,应该更改scala代码。

答案 1 :(得分:0)

对于sbt“自定义命令提示符”部分,您可以使用sbt: Customize the Shell prompt in sbt中的“Patrick Bailey (patmandenver)”作为一个很好的示例。

  

创建~/.sbt/0.13/global.sbt文件:

vi ~/.sbt/0.13/global.sbt
  

并将以下内容放入其中。

shellPrompt := { state =>
  def textColor(color: Int)      = { s"\033[38;5;${color}m" }
  def backgroundColor(color:Int) = { s"\033[48;5;${color}m" }
  def reset                      = { s"\033[0m" }

  def formatText(str: String)(txtColor: Int, backColor: Int) = {
    s"${textColor(txtColor)}${backgroundColor(backColor)}${str}${reset}"
  }
  val red    = 1
  val green  = 2
  val yellow = 11
  val white  = 15
  val black  = 16
  val orange = 166

  formatText(s"[${name.value}]")(white, orange) +
   "\n " +
   formatText("\u276f")(green, black) +
   formatText("\u276f")(yellow, black) +
   formatText("\u276f ")(red, black)
}
  

在sbt和...中运行重新加载。

https://3.bp.blogspot.com/-tPdrR9q-gls/Vuf61H7koFI/AAAAAAAAK7s/aqIkdp49DRk_im6F4RZgPj6qElP-ePWUw/s640/customize_shell_prompt_027.png

可以修改/增强/完成,以添加您需要的其他信息。