summaryrefslogtreecommitdiff
path: root/scalatexPlugin/src
diff options
context:
space:
mode:
Diffstat (limited to 'scalatexPlugin/src')
-rwxr-xr-xscalatexPlugin/src/main/resources/scalac-plugin.xml4
-rwxr-xr-xscalatexPlugin/src/main/scala/scalatex/ScalaTexPlugin.scala66
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 = {}
- }
- }
-}