diff options
author | rockjam <5min4eq.unity@gmail.com> | 2016-06-20 13:38:38 +0300 |
---|---|---|
committer | rockjam <5min4eq.unity@gmail.com> | 2016-06-20 14:35:48 +0300 |
commit | 07d3b85e98b4cc86c9f685c1096469cf6eca9cbb (patch) | |
tree | 17b022ef5e8154869b0b33ae881a25b87be7faf7 /examples | |
parent | f834052e2825cb283399c14eb626f05d73b73759 (diff) | |
download | cbt-07d3b85e98b4cc86c9f685c1096469cf6eca9cbb.tar.gz cbt-07d3b85e98b4cc86c9f685c1096469cf6eca9cbb.tar.bz2 cbt-07d3b85e98b4cc86c9f685c1096469cf6eca9cbb.zip |
scalariform plugin naive implementation
Diffstat (limited to 'examples')
-rw-r--r-- | examples/scalariform-example/README.md | 5 | ||||
-rw-r--r-- | examples/scalariform-example/build/build.scala | 31 | ||||
-rw-r--r-- | examples/scalariform-example/build/build/build.scala | 5 | ||||
-rw-r--r-- | examples/scalariform-example/resources/reference.conf | 8 | ||||
-rw-r--r-- | examples/scalariform-example/src/Main.scala | 11 |
5 files changed, 60 insertions, 0 deletions
diff --git a/examples/scalariform-example/README.md b/examples/scalariform-example/README.md new file mode 100644 index 0000000..e599b5b --- /dev/null +++ b/examples/scalariform-example/README.md @@ -0,0 +1,5 @@ +This example shows integration with scalariform plugin. +Reformat executed on every `cbt compile` call, and affects only *.scala source files. +You can provide your custom scalariform preferences in build via `scalariformPreferences`. +To test formatting in action you can execute: `cbt breakFormatting` to break formatting +and `cbt scalariformReformat` to get formatting back. diff --git a/examples/scalariform-example/build/build.scala b/examples/scalariform-example/build/build.scala new file mode 100644 index 0000000..b9caa59 --- /dev/null +++ b/examples/scalariform-example/build/build.scala @@ -0,0 +1,31 @@ +import cbt._ +import scalariform.formatter.preferences._ + +class Build(val context: Context) extends BuildBuild with Scalariform { + override def compile = { + scalariformFormat + super.compile + } + + override def scalariformPreferences = + FormattingPreferences() + .setPreference(SpacesAroundMultiImports, true) + .setPreference(DoubleIndentClassDeclaration, true) + .setPreference(RewriteArrowSymbols, true) + + def breakFormatting = { + import java.nio.file._ + import scala.collection.JavaConverters._ + sourceFiles foreach { file => + try { + val path = file.toPath + val fileLines = Files.readAllLines(path).asScala + val brokenLines = fileLines map (_.dropWhile(_ ==' ')) + Files.write(path, brokenLines.asJava) + } catch { + case e: Exception => System.err.print(s"Error happend when breaking formatting: ${e}") + } + } + System.err.println("Done breaking formatting") + } +} diff --git a/examples/scalariform-example/build/build/build.scala b/examples/scalariform-example/build/build/build.scala new file mode 100644 index 0000000..59ab8d1 --- /dev/null +++ b/examples/scalariform-example/build/build/build.scala @@ -0,0 +1,5 @@ +import cbt._ + +class Build(val context: Context) extends BuildBuild { + override def dependencies = super.dependencies :+ plugins.scalariform +} diff --git a/examples/scalariform-example/resources/reference.conf b/examples/scalariform-example/resources/reference.conf new file mode 100644 index 0000000..f3e122d --- /dev/null +++ b/examples/scalariform-example/resources/reference.conf @@ -0,0 +1,8 @@ +// should not reformat this, cause it is not in source files +some { + inside { + foo: 22 + bar: false + baz: "hello" + } +} diff --git a/examples/scalariform-example/src/Main.scala b/examples/scalariform-example/src/Main.scala new file mode 100644 index 0000000..d299aad --- /dev/null +++ b/examples/scalariform-example/src/Main.scala @@ -0,0 +1,11 @@ +import scala.concurrent.{ Await, Future } +import scala.concurrent.duration._ + +object Main extends App { + println("fooo") + val futureRes = Await.result(Future.successful(1), 5.seconds) + List(1, 2, 4, 5, 6) match { + case h :: _ ⇒ println("not empty list") + case Nil ⇒ println("empty list") + } +} |