我有下面的代码:
package my.package
import sbt._
import Keys._
object OpenElectronsScalaFmtPlugin extends AutoPlugin {
override def trigger = allRequirements
override def requires = plugins.JvmPlugin
override def buildSettings: Seq[Def.Setting[_]] = {
SettingKey[Unit]("scalafmtGenerateConfig") :=
IO.write(
// writes to file once when build is loaded
file(".scalafmt-common.conf"),
("version = 3.6.1\n" +
"runner.dialect = scala213source3\n\n" +
"project.git = true\n" +
"preset = default\n\n" +
"align.preset = none\n" +
"align.tokens = [\n" +
" {code = \"<-\"},\n" +
"]\n\n" +
"docstrings.style = keep\n" +
"maxColumn = 120\n\n"
).stripMargin.getBytes("UTF-8")
)
}
}
正如你所看到的,我一个接一个地追加条目,这让我觉得很乏味。我的IDE没有帮助我查看IO.write函数,我想知道它的参数是什么,这样我就可以将.scalafmt-common.conf作为一个文件而不是单个元素传入。
1条答案
按热度按时间nc1teljy1#
以下是我的结论:
不完全是我所期望的,但至少比我原来的版本好了一步。
另一种方法是将conf文件放在某个位置,然后使用IO.copyFromFile(...,...)从那里读取它。