diff options
Diffstat (limited to 'scalatexPlugin/src')
-rwxr-xr-x | scalatexPlugin/src/main/resources/scalac-plugin.xml | 4 | ||||
-rwxr-xr-x | scalatexPlugin/src/main/scala/scalatex/ScalaTexPlugin.scala | 66 |
2 files changed, 0 insertions, 70 deletions
diff --git a/scalatexPlugin/src/main/resources/scalac-plugin.xml b/scalatexPlugin/src/main/resources/scalac-plugin.xml deleted file mode 100755 index d4062fa..0000000 --- a/scalatexPlugin/src/main/resources/scalac-plugin.xml +++ /dev/null @@ -1,4 +0,0 @@ -<plugin> - <name>demo-plugin</name> - <classname>scalatex.ScalaTexPlugin</classname> -</plugin>
\ No newline at end of file diff --git a/scalatexPlugin/src/main/scala/scalatex/ScalaTexPlugin.scala b/scalatexPlugin/src/main/scala/scalatex/ScalaTexPlugin.scala deleted file mode 100755 index 6686258..0000000 --- a/scalatexPlugin/src/main/scala/scalatex/ScalaTexPlugin.scala +++ /dev/null @@ -1,66 +0,0 @@ -package scalatex - -import java.nio.file.Paths - -import scala.reflect.internal.util.BatchSourceFile -import scala.reflect.io.VirtualFile -import scala.tools.nsc.{ Global, Phase } -import scala.tools.nsc.plugins.{ Plugin, PluginComponent } - -class ScalaTexPlugin(val global: Global) extends Plugin { - import global._ - println(options) - val name = "scalatex-plugin" - val description = "Enforces coding standards" - val components = List[PluginComponent](DemoComponent) - private object DemoComponent extends PluginComponent { - val global = ScalaTexPlugin.this.global - import global._ - - override val runsAfter = List("parser") - override val runsBefore = List("namer") - - val phaseName = "Demo" - val scalatexRoot = "book/src/main/scalatex" - override def newPhase(prev: Phase) = new GlobalPhase(prev) { - override def run() = { - def recursiveListFiles(f: java.io.File): Array[java.io.File] = { - val (dirs, files) = f.listFiles().partition(_.isDirectory) - files ++ dirs.flatMap(recursiveListFiles) - } - for (file <- recursiveListFiles(new java.io.File(scalatexRoot))) { - val txt = io.Source.fromFile(file).mkString - val fakeJfile = new java.io.File(file.getName) - val virtualFile = new VirtualFile(file.getName) { - override def file = fakeJfile - } - val sourceFile = new BatchSourceFile(virtualFile, txt) - val unit = new CompilationUnit(sourceFile) - val name = file.getName - val objectName = name.slice(name.lastIndexOf('/'), name.lastIndexOf('.')) - val pkgName = - Paths.get(scalatexRoot) - .relativize(file.getParentFile.toPath) - .toString - .split("/") - .map(s => s"package $s") - .mkString("\n") - - val shim = s""" - $pkgName - import scalatags.Text.all._ - object $objectName{ - def apply() = scalatex.twf("${file.getPath}") - } - """ - unit.body = global.newUnitParser(shim).parse() - global.currentRun.compileLate(unit) - } - } - - def name: String = phaseName - - def apply(unit: global.CompilationUnit): Unit = {} - } - } -} |