summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLi Haoyi <haoyi@dropbox.com>2014-12-03 22:46:04 -0800
committerLi Haoyi <haoyi@dropbox.com>2014-12-03 22:46:04 -0800
commitbac53bef685f4e00e7061923dcd57dea4f9e229b (patch)
tree01f891d69c0535aba2b0ad3baeb9278301e230fc
parentdf33a5cabf8692110f81c9ef60015bea51fbf2dc (diff)
downloadhands-on-scala-js-bac53bef685f4e00e7061923dcd57dea4f9e229b.tar.gz
hands-on-scala-js-bac53bef685f4e00e7061923dcd57dea4f9e229b.tar.bz2
hands-on-scala-js-bac53bef685f4e00e7061923dcd57dea4f9e229b.zip
scalatex broken out into separate project which needs to be published separately
-rw-r--r--book/src/main/scala/book/Book.scala6
-rw-r--r--book/src/main/scalatex/book/handson/ClientServer.scalatex15
-rw-r--r--build.sbt55
-rw-r--r--examples/demos/build.sbt4
-rw-r--r--examples/demos/src/main/scala/scrollmenu/ScrollSpy.scala (renamed from examples/demos/src/main/scala/scrollmenu/ScrollMenu.scala)42
-rw-r--r--project/build.sbt4
-rw-r--r--scalatex/api/src/main/scala/scalatex/package.scala (renamed from scalatexApi/src/main/scala/scalatex/package.scala)0
-rw-r--r--scalatex/api/src/main/scala/scalatex/stages/Compiler.scala (renamed from scalatexApi/src/main/scala/scalatex/stages/Compiler.scala)0
-rw-r--r--scalatex/api/src/main/scala/scalatex/stages/Omg/scala.scala8
-rw-r--r--scalatex/api/src/main/scala/scalatex/stages/Parser.scala (renamed from scalatexApi/src/main/scala/scalatex/stages/Parser.scala)0
-rw-r--r--scalatex/api/src/main/scala/scalatex/stages/Trim.scala (renamed from scalatexApi/src/main/scala/scalatex/stages/Trim.scala)0
-rw-r--r--scalatex/api/src/test/scala/scalatex/BasicTests.scala (renamed from scalatexApi/src/test/scala/scalatex/BasicTests.scala)0
-rw-r--r--scalatex/api/src/test/scala/scalatex/ErrorTests.scala (renamed from scalatexApi/src/test/scala/scalatex/ErrorTests.scala)0
-rw-r--r--scalatex/api/src/test/scala/scalatex/ParserTests.scala (renamed from scalatexApi/src/test/scala/scalatex/ParserTests.scala)0
-rw-r--r--scalatex/api/src/test/scala/scalatex/TestUtil.scala (renamed from scalatexApi/src/test/scala/scalatex/TestUtil.scala)0
-rw-r--r--scalatex/build.sbt44
-rwxr-xr-xscalatex/compilerPlugin/src/main/resources/scalac-plugin.xml4
-rwxr-xr-xscalatex/compilerPlugin/src/main/scala/scalatex/CompilerPlugin.scala (renamed from scalatexPlugin/src/main/scala/scalatex/ScalaTexPlugin.scala)47
-rw-r--r--scalatex/project/build.properties1
-rw-r--r--scalatex/project/build.sbt1
-rw-r--r--scalatex/scalaParser/src/main/scala/scalaParser/ScalaSyntax.scala (renamed from scalaParser/src/main/scala/scalaParser/ScalaSyntax.scala)0
-rw-r--r--scalatex/scalaParser/src/main/scala/scalaParser/syntax/Basic.scala (renamed from scalaParser/src/main/scala/scalaParser/syntax/Basic.scala)0
-rw-r--r--scalatex/scalaParser/src/main/scala/scalaParser/syntax/Identifiers.scala (renamed from scalaParser/src/main/scala/scalaParser/syntax/Identifiers.scala)0
-rw-r--r--scalatex/scalaParser/src/main/scala/scalaParser/syntax/Literals.scala (renamed from scalaParser/src/main/scala/scalaParser/syntax/Literals.scala)0
-rw-r--r--scalatex/scalaParser/src/test/scala/scalaParser/SyntaxTest.scala (renamed from scalaParser/src/test/scala/scalaParser/SyntaxTest.scala)0
-rw-r--r--scalatex/scalatexSbtPlugin/src/main/scala/SbtPlugin.scala16
-rw-r--r--scalatexApi/src/test/scala/scalatex/AdvancedTests.scala120
-rwxr-xr-xscalatexPlugin/src/main/resources/scalac-plugin.xml4
28 files changed, 154 insertions, 217 deletions
diff --git a/book/src/main/scala/book/Book.scala b/book/src/main/scala/book/Book.scala
index d023d56..71c0d65 100644
--- a/book/src/main/scala/book/Book.scala
+++ b/book/src/main/scala/book/Book.scala
@@ -25,7 +25,7 @@ object Book {
"META-INF/resources/webjars/font-awesome/4.2.0/fonts/fontawesome-webfont.woff",
"css/side-menu.css",
"example-opt.js",
- "example-opt.js.map",
+// "example-opt.js.map",
"webpage/weather.js",
"favicon.svg",
"favicon.png"
@@ -72,6 +72,7 @@ object Book {
script(raw(googleAnalytics))
),
body(
+ onload:=s"Controller().main($data)",
div(id:="layout")(
a(href:="#menu", id:="menuLink", cls:="menu-link")(
span
@@ -83,8 +84,7 @@ object Book {
div(id:="main-box")(
txt
)
- ),
- script(raw(s"Controller().main($data)"))
+ )
)
)
).render
diff --git a/book/src/main/scalatex/book/handson/ClientServer.scalatex b/book/src/main/scalatex/book/handson/ClientServer.scalatex
index 48d35f2..50afe76 100644
--- a/book/src/main/scalatex/book/handson/ClientServer.scalatex
+++ b/book/src/main/scalatex/book/handson/ClientServer.scalatex
@@ -1,5 +1,12 @@
@import BookData._
+@def lazyload(id: String) = script(raw("""
+ document.addEventListener("load", function(){
+ document.getElementById(id).src = 'https://hands-on-scala-js.herokuapp.com/'
+ })
+"""))
+
+
@p
Historically, sharing code across client & server has been a holy-grail for web development. There are many things which have made it hard in the past:
@@ -75,7 +82,9 @@
@p
Now, if we go to the browser at @code{localhost:8080}, we should see our web-page!
- @iframe(src:="https://hands-on-scala-js.herokuapp.com/", width:="100%", height:="350px", "frameBorder".attr:="0")
+ @iframe(id:="heroku1", width:="100%", height:="350px", "frameBorder".attr:="0")
+ @lazyload("heroku1")
+
@p
This is a real, live example running on a @lnk("Heroku server", "https://hands-on-scala-js.herokuapp.com/"). Feel free to poke around and explore the filesystem on the server, just to convince yourself that this actually works and is not just a mock up.
@@ -215,7 +224,9 @@
@p
Other than that, nothing much has changed. If you've done this correctly, the web application will look and behave exactly as it did earlier!
- @iframe(src:="https://hands-on-scala-js.herokuapp.com/", width:="100%", height:="350px", "frameBorder".attr:="0")
+ @iframe(id:="heroku2", width:="100%", height:="350px", "frameBorder".attr:="0")
+ @lazyload("heroku2")
+
@p
So why did we do this in the first place?
diff --git a/build.sbt b/build.sbt
index 4b1d7dd..43d679c 100644
--- a/build.sbt
+++ b/build.sbt
@@ -16,67 +16,26 @@ val sharedSettings = Seq(
autoCompilerPlugins := true
)
-lazy val scalaParser = project.settings(sharedSettings:_*)
- .settings(
- libraryDependencies ++= Seq(
- "com.lihaoyi" %% "utest" % "0.2.4",
- "org.parboiled" %% "parboiled" % "2.0.1"
- ),
- testFrameworks += new TestFramework("utest.runner.JvmFramework")
-)
-lazy val scalatexApi = project.settings(sharedSettings:_*)
- .dependsOn(scalaParser)
- .settings(
- libraryDependencies ++= Seq(
- "com.lihaoyi" %% "utest" % "0.2.4",
- "com.scalatags" %% "scalatags" % "0.4.2",
- "org.scala-lang" % "scala-reflect" % scalaVersion.value,
- "org.parboiled" %% "parboiled" % "2.0.1"
- ),
- testFrameworks += new TestFramework("utest.runner.JvmFramework")
-)
-
-lazy val scalatexPlugin = Project(
- id = "scalatexPlugin",
- base = file("scalatexPlugin"),
- dependencies = Seq(scalatexApi)
-).settings(sharedSettings:_*).settings(
- libraryDependencies += "org.scala-lang" % "scala-compiler" % scalaVersion.value,
- publishArtifact in Compile := false
-)
lazy val book = Project(
id = "book",
- base = file("book"),
- dependencies = Seq(scalatexApi)
-).settings(sharedSettings:_*).settings(
+ base = file("book")
+).settings(sharedSettings ++ inConfig(Compile)(scalatex.SbtPlugin.settings):_*).settings(
libraryDependencies ++= Seq(
"org.webjars" % "highlightjs" % "8.2-1",
"org.webjars" % "pure" % "0.5.0",
"org.webjars" % "font-awesome" % "4.2.0",
+ "com.scalatags" %% "scalatags" % "0.4.2",
"com.lihaoyi" %%% "upickle" % "0.2.5"
),
- (resources in Compile) ++= {
+ (resources in Compile) += {
(fullOptJS in (demos, Compile)).value
- Seq(
- (artifactPath in (demos, Compile, fullOptJS)).value,
- new java.io.File((artifactPath in (demos, Compile, fullOptJS)).value.getPath + ".map")
- )
+ (artifactPath in (demos, Compile, fullOptJS)).value
},
+
(unmanagedResourceDirectories in Compile) ++=
(unmanagedResourceDirectories in (demos, Compile)).value,
- scalacOptions in Compile ++= {
- val jar = (Keys.`package` in (scalatexPlugin, Compile)).value
- val addPlugin = "-Xplugin:" + jar.getAbsolutePath
- // add plugin timestamp to compiler options to trigger recompile of
- // main after editing the plugin. (Otherwise a 'clean' is needed.)
- val dummy = "-Jdummy=" + jar.lastModified
- val options = "-P:scalatex-options:" + sourceDirectory.value / "scalatex"
- Seq(addPlugin, dummy)
- },
- watchSources ++= {
- ((sourceDirectory in Compile).value / "scalatex" ** "*.scalatex").get
- },
+
cloneRepos := {
val localPath = target.value / "clones"
if (!localPath.isDirectory){
diff --git a/examples/demos/build.sbt b/examples/demos/build.sbt
index 5b55829..aa801b0 100644
--- a/examples/demos/build.sbt
+++ b/examples/demos/build.sbt
@@ -1,4 +1,6 @@
-import scala.scalajs.sbtplugin.ScalaJSPlugin.ScalaJSKeys.jsDependencies
+import scala.scalajs.sbtplugin.ScalaJSPlugin.ScalaJSKeys._
+
+(emitSourceMaps in fullOptJS) := false
scalaJSSettings
diff --git a/examples/demos/src/main/scala/scrollmenu/ScrollMenu.scala b/examples/demos/src/main/scala/scrollmenu/ScrollSpy.scala
index ce3f07f..736f9b3 100644
--- a/examples/demos/src/main/scala/scrollmenu/ScrollMenu.scala
+++ b/examples/demos/src/main/scala/scrollmenu/ScrollSpy.scala
@@ -15,7 +15,7 @@ case class MenuNode(frag: dom.HTMLElement, id: String, start: Int, end: Int)
*/
class ScrollSpy(structure: Tree[String],
main: dom.HTMLElement){
- val (headers, domTrees) = {
+ lazy val domTrees = {
var i = -1
def recurse(t: Tree[String], depth: Int): Tree[MenuNode] = {
val curr =
@@ -40,26 +40,26 @@ class ScrollSpy(structure: Tree[String],
children
)
}
- def offset(el: dom.HTMLElement, parent: dom.HTMLElement): Double = {
- if (el == parent) 0
- else el.offsetTop + offset(el.offsetParent.asInstanceOf[dom.HTMLElement], parent)
- }
- val headers = {
- val menuItems = {
- def rec(current: Tree[String]): Seq[String] = {
- current.value +: current.children.flatMap(rec)
- }
- rec(structure).tail
- }
- js.Array(
- menuItems.map(Controller.munge)
- .map(dom.document.getElementById)
- .map(offset(_, main)):_*
- )
- }
val domTrees = recurse(structure, 0)
- (headers, domTrees)
+ domTrees
+ }
+ def offset(el: dom.HTMLElement, parent: dom.HTMLElement): Double = {
+ if (el == parent) 0
+ else el.offsetTop + offset(el.offsetParent.asInstanceOf[dom.HTMLElement], parent)
+ }
+ lazy val headers = {
+ val menuItems = {
+ def rec(current: Tree[String]): Seq[String] = {
+ current.value +: current.children.flatMap(rec)
+ }
+ rec(structure).tail
+ }
+
+ js.Array(
+ menuItems.map(name => dom.document.getElementById(Controller.munge(name)))
+ .map((el) => () => offset(el, main)):_*
+ )
}
var open = false
@@ -113,8 +113,8 @@ class ScrollSpy(structure: Tree[String],
val t @ Tree(m, children) = tree
val win = if(m.start == -1) true
else {
- val before = headers(m.start) <= scrollTop
- val after = (m.end >= headers.length) || headers(m.end) > scrollTop
+ val before = headers(m.start)() <= scrollTop
+ val after = (m.end >= headers.length) || headers(m.end)() > scrollTop
before && after
}
val childIndexes = children.map(walkIndex)
diff --git a/project/build.sbt b/project/build.sbt
index e04b021..489e892 100644
--- a/project/build.sbt
+++ b/project/build.sbt
@@ -4,4 +4,6 @@ addSbtPlugin("com.lihaoyi" % "utest-js-plugin" % "0.2.4")
addSbtPlugin("com.typesafe.sbt" % "sbt-native-packager" % "0.7.4")
-libraryDependencies += "org.eclipse.jgit" % "org.eclipse.jgit" % "3.5.1.201410131835-r" \ No newline at end of file
+libraryDependencies += "org.eclipse.jgit" % "org.eclipse.jgit" % "3.5.1.201410131835-r"
+
+addSbtPlugin("com.lihaoyi" % "scalatex-sbt-plugin" % "0.1.0")
diff --git a/scalatexApi/src/main/scala/scalatex/package.scala b/scalatex/api/src/main/scala/scalatex/package.scala
index 1f13e63..1f13e63 100644
--- a/scalatexApi/src/main/scala/scalatex/package.scala
+++ b/scalatex/api/src/main/scala/scalatex/package.scala
diff --git a/scalatexApi/src/main/scala/scalatex/stages/Compiler.scala b/scalatex/api/src/main/scala/scalatex/stages/Compiler.scala
index 3df8da7..3df8da7 100644
--- a/scalatexApi/src/main/scala/scalatex/stages/Compiler.scala
+++ b/scalatex/api/src/main/scala/scalatex/stages/Compiler.scala
diff --git a/scalatex/api/src/main/scala/scalatex/stages/Omg/scala.scala b/scalatex/api/src/main/scala/scalatex/stages/Omg/scala.scala
new file mode 100644
index 0000000..81fa1f9
--- /dev/null
+++ b/scalatex/api/src/main/scala/scalatex/stages/Omg/scala.scala
@@ -0,0 +1,8 @@
+package scalatex.stages.Omg
+
+/**
+ * Created by haoyi on 12/3/14.
+ */
+class scala {
+
+}
diff --git a/scalatexApi/src/main/scala/scalatex/stages/Parser.scala b/scalatex/api/src/main/scala/scalatex/stages/Parser.scala
index 0b87d97..0b87d97 100644
--- a/scalatexApi/src/main/scala/scalatex/stages/Parser.scala
+++ b/scalatex/api/src/main/scala/scalatex/stages/Parser.scala
diff --git a/scalatexApi/src/main/scala/scalatex/stages/Trim.scala b/scalatex/api/src/main/scala/scalatex/stages/Trim.scala
index 8993734..8993734 100644
--- a/scalatexApi/src/main/scala/scalatex/stages/Trim.scala
+++ b/scalatex/api/src/main/scala/scalatex/stages/Trim.scala
diff --git a/scalatexApi/src/test/scala/scalatex/BasicTests.scala b/scalatex/api/src/test/scala/scalatex/BasicTests.scala
index 4bc362c..4bc362c 100644
--- a/scalatexApi/src/test/scala/scalatex/BasicTests.scala
+++ b/scalatex/api/src/test/scala/scalatex/BasicTests.scala
diff --git a/scalatexApi/src/test/scala/scalatex/ErrorTests.scala b/scalatex/api/src/test/scala/scalatex/ErrorTests.scala
index d8cd4f5..d8cd4f5 100644
--- a/scalatexApi/src/test/scala/scalatex/ErrorTests.scala
+++ b/scalatex/api/src/test/scala/scalatex/ErrorTests.scala
diff --git a/scalatexApi/src/test/scala/scalatex/ParserTests.scala b/scalatex/api/src/test/scala/scalatex/ParserTests.scala
index 9a4ee63..9a4ee63 100644
--- a/scalatexApi/src/test/scala/scalatex/ParserTests.scala
+++ b/scalatex/api/src/test/scala/scalatex/ParserTests.scala
diff --git a/scalatexApi/src/test/scala/scalatex/TestUtil.scala b/scalatex/api/src/test/scala/scalatex/TestUtil.scala
index 5a72677..5a72677 100644
--- a/scalatexApi/src/test/scala/scalatex/TestUtil.scala
+++ b/scalatex/api/src/test/scala/scalatex/TestUtil.scala
diff --git a/scalatex/build.sbt b/scalatex/build.sbt
new file mode 100644
index 0000000..4769bad
--- /dev/null
+++ b/scalatex/build.sbt
@@ -0,0 +1,44 @@
+val sharedSettings = Seq(
+ version := "0.1.0",
+ organization := "com.lihaoyi",
+ crossScalaVersions:= Seq("2.10.4", "2.11.2"),
+ scalaVersion := "2.11.4",
+ libraryDependencies += "com.lihaoyi" %% "acyclic" % "0.1.2" % "provided",
+ addCompilerPlugin("com.lihaoyi" %% "acyclic" % "0.1.2"),
+ autoCompilerPlugins := true
+)
+
+lazy val scalaParser = project.settings(sharedSettings:_*)
+ .settings(
+ name := "scala-parser-lite",
+ libraryDependencies ++= Seq(
+ "com.lihaoyi" %% "utest" % "0.2.4",
+ "org.parboiled" %% "parboiled" % "2.0.1"
+ ),
+ testFrameworks += new TestFramework("utest.runner.JvmFramework")
+ )
+lazy val api = project.settings(sharedSettings:_*)
+ .dependsOn(scalaParser)
+ .settings(
+ name := "scalatex-api",
+ libraryDependencies ++= Seq(
+ "com.lihaoyi" %% "utest" % "0.2.4",
+ "com.scalatags" %% "scalatags" % "0.4.2",
+ "org.scala-lang" % "scala-reflect" % scalaVersion.value,
+ "org.parboiled" %% "parboiled" % "2.0.1"
+ ),
+ testFrameworks += new TestFramework("utest.runner.JvmFramework")
+ )
+
+lazy val scalatexSbtPlugin = project.settings(sharedSettings:_*)
+ .settings(
+ name := "scalatex-sbt-plugin",
+ scalaVersion := "2.10.4",
+ sbtPlugin := true
+)
+lazy val compilerPlugin = project.settings(sharedSettings:_*)
+ .dependsOn(api)
+ .settings(
+ name := "scalatex-compiler-plugin",
+ libraryDependencies += "org.scala-lang" % "scala-compiler" % scalaVersion.value
+) \ No newline at end of file
diff --git a/scalatex/compilerPlugin/src/main/resources/scalac-plugin.xml b/scalatex/compilerPlugin/src/main/resources/scalac-plugin.xml
new file mode 100755
index 0000000..a446f13
--- /dev/null
+++ b/scalatex/compilerPlugin/src/main/resources/scalac-plugin.xml
@@ -0,0 +1,4 @@
+<plugin>
+ <name>demo-plugin</name>
+ <classname>scalatex.CompilerPlugin</classname>
+</plugin> \ No newline at end of file
diff --git a/scalatexPlugin/src/main/scala/scalatex/ScalaTexPlugin.scala b/scalatex/compilerPlugin/src/main/scala/scalatex/CompilerPlugin.scala
index 6686258..e122de5 100755
--- a/scalatexPlugin/src/main/scala/scalatex/ScalaTexPlugin.scala
+++ b/scalatex/compilerPlugin/src/main/scala/scalatex/CompilerPlugin.scala
@@ -7,40 +7,52 @@ 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 {
+class CompilerPlugin(val global: Global) extends Plugin {
import global._
- println(options)
- val name = "scalatex-plugin"
- val description = "Enforces coding standards"
+
+ override def init(options: List[String], error: String => Unit): Boolean = true
+
+ val name = "scalatex"
+ val description = "Compiles scalatex files into Scala compilation units"
val components = List[PluginComponent](DemoComponent)
private object DemoComponent extends PluginComponent {
- val global = ScalaTexPlugin.this.global
+
+ val global = CompilerPlugin.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) {
+ val splitOptions = options.map(o => o.splitAt(o.indexOf(":")+1))
+ val scalatexRoots = splitOptions.collect{case ("root:", p) => p}
override def run() = {
- def recursiveListFiles(f: java.io.File): Array[java.io.File] = {
- val (dirs, files) = f.listFiles().partition(_.isDirectory)
- files ++ dirs.flatMap(recursiveListFiles)
+ def recursiveListFiles(f: java.io.File): Iterator[java.io.File] = {
+ val (dirs, files) =
+ Option(f.listFiles())
+ .toSeq
+ .flatten
+ .partition(_.isDirectory)
+ files.iterator ++ dirs.iterator.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) {
+ for {
+ scalatexRoot <- scalatexRoots
+ file <- recursiveListFiles(new java.io.File(scalatexRoot))
+ } {
+ val name = file.getCanonicalPath
+ val fakeJfile = new java.io.File(name)
+ val txt = io.Source.fromFile(name).mkString
+ val virtualFile = new VirtualFile(name) {
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 objectName = name.slice(name.lastIndexOf('/')+1, name.lastIndexOf('.'))
val pkgName =
Paths.get(scalatexRoot)
- .relativize(file.getParentFile.toPath)
+ .relativize(fakeJfile.getParentFile.toPath)
.toString
.split("/")
.map(s => s"package $s")
@@ -49,8 +61,9 @@ class ScalaTexPlugin(val global: Global) extends Plugin {
val shim = s"""
$pkgName
import scalatags.Text.all._
+
object $objectName{
- def apply() = scalatex.twf("${file.getPath}")
+ def apply() = scalatex.twf("${name}")
}
"""
unit.body = global.newUnitParser(shim).parse()
diff --git a/scalatex/project/build.properties b/scalatex/project/build.properties
new file mode 100644
index 0000000..748703f
--- /dev/null
+++ b/scalatex/project/build.properties
@@ -0,0 +1 @@
+sbt.version=0.13.7
diff --git a/scalatex/project/build.sbt b/scalatex/project/build.sbt
new file mode 100644
index 0000000..f1db6ad
--- /dev/null
+++ b/scalatex/project/build.sbt
@@ -0,0 +1 @@
+addSbtPlugin("com.lihaoyi" % "utest-js-plugin" % "0.2.4")
diff --git a/scalaParser/src/main/scala/scalaParser/ScalaSyntax.scala b/scalatex/scalaParser/src/main/scala/scalaParser/ScalaSyntax.scala
index de9f039..de9f039 100644
--- a/scalaParser/src/main/scala/scalaParser/ScalaSyntax.scala
+++ b/scalatex/scalaParser/src/main/scala/scalaParser/ScalaSyntax.scala
diff --git a/scalaParser/src/main/scala/scalaParser/syntax/Basic.scala b/scalatex/scalaParser/src/main/scala/scalaParser/syntax/Basic.scala
index 8d3232a..8d3232a 100644
--- a/scalaParser/src/main/scala/scalaParser/syntax/Basic.scala
+++ b/scalatex/scalaParser/src/main/scala/scalaParser/syntax/Basic.scala
diff --git a/scalaParser/src/main/scala/scalaParser/syntax/Identifiers.scala b/scalatex/scalaParser/src/main/scala/scalaParser/syntax/Identifiers.scala
index 4bc972f..4bc972f 100644
--- a/scalaParser/src/main/scala/scalaParser/syntax/Identifiers.scala
+++ b/scalatex/scalaParser/src/main/scala/scalaParser/syntax/Identifiers.scala
diff --git a/scalaParser/src/main/scala/scalaParser/syntax/Literals.scala b/scalatex/scalaParser/src/main/scala/scalaParser/syntax/Literals.scala
index 9fd9d5b..9fd9d5b 100644
--- a/scalaParser/src/main/scala/scalaParser/syntax/Literals.scala
+++ b/scalatex/scalaParser/src/main/scala/scalaParser/syntax/Literals.scala
diff --git a/scalaParser/src/test/scala/scalaParser/SyntaxTest.scala b/scalatex/scalaParser/src/test/scala/scalaParser/SyntaxTest.scala
index fe5fc2c..fe5fc2c 100644
--- a/scalaParser/src/test/scala/scalaParser/SyntaxTest.scala
+++ b/scalatex/scalaParser/src/test/scala/scalaParser/SyntaxTest.scala
diff --git a/scalatex/scalatexSbtPlugin/src/main/scala/SbtPlugin.scala b/scalatex/scalatexSbtPlugin/src/main/scala/SbtPlugin.scala
new file mode 100644
index 0000000..f09dc17
--- /dev/null
+++ b/scalatex/scalatexSbtPlugin/src/main/scala/SbtPlugin.scala
@@ -0,0 +1,16 @@
+package scalatex
+
+import sbt.Keys._
+import sbt._
+object SbtPlugin extends sbt.Plugin{
+ val scalatexDirectory = taskKey[sbt.File]("Clone stuff from github")
+ override val settings = Seq(
+ scalatexDirectory := sourceDirectory.value / "scalatex",
+ scalacOptions += {
+ "-P:scalatex:root:" + scalatexDirectory.value.getCanonicalPath
+ },
+ watchSources += scalatexDirectory.value,
+ addCompilerPlugin("com.lihaoyi" %% "scalatex-compiler-plugin" % "0.1.0"),
+ libraryDependencies += "com.lihaoyi" %% "scalatex-api" % "0.1.0"
+ )
+}
diff --git a/scalatexApi/src/test/scala/scalatex/AdvancedTests.scala b/scalatexApi/src/test/scala/scalatex/AdvancedTests.scala
deleted file mode 100644
index cbca40a..0000000
--- a/scalatexApi/src/test/scala/scalatex/AdvancedTests.scala
+++ /dev/null
@@ -1,120 +0,0 @@
-//package scalatex
-//
-//import utest._
-//import scalatex.stages._
-//import scalatags.Text.all._
-//
-//
-///**
-//* Created by haoyi on 7/14/14.
-//*/
-//object AdvancedTests extends TestSuite{
-// import TestUtil._
-//
-// val tests = TestSuite{
-// 'localDef{
-// check(
-// tw("""
-// @lol(n: Int) = @{
-// "omg" * n
-// }
-//
-// @lol(2)
-// """),
-// "omgomg"
-// )
-// }
-// 'innerTemplate{
-// check(
-// tw("""
-// @lol(f: Int) =
-// omg @f
-//
-// @lol(1)
-// @lol(2: Int)
-// @lol(3 + 1)
-// """),
-// tw("""
-// @lol(f: Int) ={
-// omg @f
-// }
-// @lol(1)
-// @lol(2: Int)
-// @lol(3 + 1)
-// """),
-// tw("""
-// @lol(f: Int) = {
-// omg @f
-// }
-// @lol(1)
-// @lol(2: Int)
-// @lol(3 + 1)
-// """),
-// """
-// omg1omg2omg4
-// """
-// )
-// }
-// 'innerInnerTemplate{
-// check(
-// tw("""
-// @lol(f: Int) =
-// @wtf(g: Int) =
-// wtf @g
-//
-// @wtf(1 + 2 + 3)
-// @wtf(f)
-//
-// @lol(1)
-// @lol(2: Int)
-// @lol(3 + 1)
-// """),
-// tw("""
-// @lol(f: Int) = {
-// @wtf(g: Int) = {
-// wtf @g
-// }
-// @wtf(1 + 2 + 3)
-// @wtf(f)
-// }
-// @lol(1)
-// @lol(2: Int)
-// @lol(3 + 1)
-// """),
-// tw("""
-// @lol(f: Int) = {
-// @wtf(g: Int) =
-// wtf @g
-//
-// @wtf(1 + 2 + 3)
-// @wtf(f)
-// }
-// @lol(1)
-// @lol(2: Int)
-// @lol(3 + 1)
-// """),
-// tw("""
-// @lol(f: Int) =
-// @wtf(g: Int) = {
-// wtf @g
-// }
-// @wtf(1 + 2 + 3)
-// @wtf(f)
-//
-// @lol(1)
-// @lol(2: Int)
-// @lol(3 + 1)
-// """),
-// """
-// wtf6
-// wtf1
-// wtf6
-// wtf2
-// wtf6
-// wtf4
-// """
-// )
-// }
-//
-// }
-//}
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