OSDN Git Service

commit
authorSet <set.minami@gmail.com>
Thu, 25 Jul 2013 15:00:13 +0000 (00:00 +0900)
committerSet <set.minami@gmail.com>
Thu, 25 Jul 2013 15:00:13 +0000 (00:00 +0900)
16 files changed:
.cache
.ensime_session [new file with mode: 0644]
.settings/org.scala-ide.sdt.core.prefs
BlackQuill.sublime-project [new file with mode: 0644]
BlackQuill.sublime-workspace [new file with mode: 0644]
build.sbt
mdTest/test16.bq
src/main/scala/org/blackquill/breadboard/LaTeXConverter.scala [new file with mode: 0644]
src/main/scala/org/blackquill/engine/BQParser.scala
src/main/scala/org/blackquill/main/BlackQuill.scala
src/test/scala/org/blackquill/test/MarkdownSpecification$$anonfun$1.class [new file with mode: 0644]
src/test/scala/org/blackquill/test/MarkdownSpecification$$anonfun$2.class [new file with mode: 0644]
src/test/scala/org/blackquill/test/MarkdownSpecification$$anonfun$3.class [new file with mode: 0644]
src/test/scala/org/blackquill/test/MarkdownSpecification$$anonfun$4.class [new file with mode: 0644]
src/test/scala/org/blackquill/test/MarkdownSpecification$.class [new file with mode: 0644]
src/test/scala/org/blackquill/test/MarkdownSpecification.class [new file with mode: 0644]

diff --git a/.cache b/.cache
index 349b5ef..2680574 100644 (file)
Binary files a/.cache and b/.cache differ
diff --git a/.ensime_session b/.ensime_session
new file mode 100644 (file)
index 0000000..6d18de2
--- /dev/null
@@ -0,0 +1,23 @@
+{
+  "breakpoints": [
+    {
+      "file_name": "/Users/set/Desktop/sbt-projects/BlackQuill/src/test/scala/MarkdownSpecification.scala", 
+      "line": 1
+    }
+  ], 
+  "current_launch_config": "Test16", 
+  "launch_configs": [
+    {
+      "args": "", 
+      "main_class": "org.blackquill.test.MarkdownSpecification", 
+      "name": "scalaCheck", 
+      "remote_address": ""
+    }, 
+    {
+      "args": "/Users/set/Desktop/sbt-projects/BlackQuill/mdTest/test16.bq", 
+      "main_class": "org.blackquill.main.BlackQuill", 
+      "name": "Test16", 
+      "remote_address": ""
+    }
+  ]
+}
\ No newline at end of file
index b7b51d5..42a3a44 100644 (file)
@@ -1,126 +1,4 @@
-Xcheck-null=false
-Xcheckinit=false
-Xdisable-assertions=false
-Xelide-below=-2147483648
-Xexperimental=false
-Xfatal-warnings=false
-Xfuture=false
-Xlog-implicits=false
-Xmigration=false
-Xno-uescape=false
-Xpluginsdir=/Applications/eclipse/configuration/org.eclipse.osgi/bundles/353/1/.cp/lib
-Ybuild-manager-debug=false
-Yno-generic-signatures=false
-Yno-imports=false
-Ypresentation-debug=false
-Ypresentation-delay=0
-Ypresentation-verbose=false
-Yrecursion=0
-Yself-in-annots=false
-Ystruct-dispatch=poly-cache
-Ywarn-dead-code=false
-buildmanager=sbt
-compileorder=Mixed
-deprecation=false
-eclipse.preferences.version=1
+#Generated by sbteclipse
+#Sat Jul 06 00:54:47 JST 2013
 encoding=UTF-8
-explaintypes=false
-formatter.alignParameters=false
-formatter.alignSingleLineCaseStatements=false
-formatter.alignSingleLineCaseStatements.maxArrowIndent=40
-formatter.compactControlReadability=false
-formatter.compactStringConcatenation=false
-formatter.doubleIndentClassDeclaration=false
-formatter.formatXml=true
-formatter.indentLocalDefs=false
-formatter.indentPackageBlocks=true
-formatter.indentSpaces=2
-formatter.indentWithTabs=false
-formatter.multilineScaladocCommentsStartOnFirstLine=false
-formatter.placeScaladocAsterisksBeneathSecondAsterisk=false
-formatter.preserveDanglingCloseParenthesis=false
-formatter.preserveSpaceBeforeArguments=false
-formatter.rewriteArrowSymbols=false
-formatter.spaceBeforeColon=false
-formatter.spaceInsideBrackets=false
-formatter.spaceInsideParentheses=false
-formatter.spacesWithinPatternBinders=true
-g=vars
-no-specialization=false
-nowarn=false
-optimise=false
 scala.compiler.useProjectSettings=true
-stopBuildOnError=false
-syntaxColouring.bracket.bold=false
-syntaxColouring.bracket.colour=0,0,0
-syntaxColouring.bracket.italic=false
-syntaxColouring.bracket.strikethrough=false
-syntaxColouring.bracket.underline=false
-syntaxColouring.default.bold=false
-syntaxColouring.default.colour=0,0,0
-syntaxColouring.default.italic=false
-syntaxColouring.default.strikethrough=false
-syntaxColouring.default.underline=false
-syntaxColouring.keyword.bold=true
-syntaxColouring.keyword.colour=127,0,85
-syntaxColouring.keyword.italic=false
-syntaxColouring.keyword.strikethrough=false
-syntaxColouring.keyword.underline=false
-syntaxColouring.operator.bold=false
-syntaxColouring.operator.colour=0,0,0
-syntaxColouring.operator.italic=false
-syntaxColouring.operator.strikethrough=false
-syntaxColouring.operator.underline=false
-syntaxColouring.scaladoc.bold=false
-syntaxColouring.scaladoc.colour=63,95,191
-syntaxColouring.scaladoc.italic=false
-syntaxColouring.scaladoc.strikethrough=false
-syntaxColouring.scaladoc.underline=false
-syntaxColouring.singleLineComment.bold=false
-syntaxColouring.singleLineComment.colour=63,127,95
-syntaxColouring.singleLineComment.italic=false
-syntaxColouring.singleLineComment.strikethrough=false
-syntaxColouring.singleLineComment.underline=false
-syntaxColouring.string.bold=false
-syntaxColouring.string.colour=42,0,255
-syntaxColouring.string.italic=false
-syntaxColouring.string.strikethrough=false
-syntaxColouring.string.underline=false
-syntaxColouring.xml.attributeName.bold=false
-syntaxColouring.xml.attributeName.colour=127,0,127
-syntaxColouring.xml.attributeName.italic=false
-syntaxColouring.xml.attributeName.strikethrough=false
-syntaxColouring.xml.attributeName.underline=false
-syntaxColouring.xml.attributeValue.bold=false
-syntaxColouring.xml.attributeValue.colour=42,0,255
-syntaxColouring.xml.attributeValue.italic=true
-syntaxColouring.xml.attributeValue.strikethrough=false
-syntaxColouring.xml.attributeValue.underline=false
-syntaxColouring.xml.comment.bold=false
-syntaxColouring.xml.comment.colour=63,85,191
-syntaxColouring.xml.comment.italic=false
-syntaxColouring.xml.comment.strikethrough=false
-syntaxColouring.xml.comment.underline=false
-syntaxColouring.xml.equals.bold=false
-syntaxColouring.xml.equals.colour=0,0,0
-syntaxColouring.xml.equals.italic=false
-syntaxColouring.xml.equals.strikethrough=false
-syntaxColouring.xml.equals.underline=false
-syntaxColouring.xml.processingInstruction.bold=false
-syntaxColouring.xml.processingInstruction.colour=0,128,128
-syntaxColouring.xml.processingInstruction.italic=false
-syntaxColouring.xml.processingInstruction.strikethrough=false
-syntaxColouring.xml.processingInstruction.underline=false
-syntaxColouring.xml.tagDelimiter.bold=false
-syntaxColouring.xml.tagDelimiter.colour=0,128,128
-syntaxColouring.xml.tagDelimiter.italic=false
-syntaxColouring.xml.tagDelimiter.strikethrough=false
-syntaxColouring.xml.tagDelimiter.underline=false
-syntaxColouring.xml.tagName.bold=false
-syntaxColouring.xml.tagName.colour=63,127,127
-syntaxColouring.xml.tagName.italic=false
-syntaxColouring.xml.tagName.strikethrough=false
-syntaxColouring.xml.tagName.underline=false
-target=jvm-1.5
-unchecked=false
-verbose=false
diff --git a/BlackQuill.sublime-project b/BlackQuill.sublime-project
new file mode 100644 (file)
index 0000000..e9f622a
--- /dev/null
@@ -0,0 +1,8 @@
+{
+       "folders":
+       [
+               {
+                       "path": "/Users/set/Desktop/sbt-projects/BlackQuill"
+               }
+       ]
+}
diff --git a/BlackQuill.sublime-workspace b/BlackQuill.sublime-workspace
new file mode 100644 (file)
index 0000000..013f064
--- /dev/null
@@ -0,0 +1,680 @@
+{
+       "auto_complete":
+       {
+               "selected_items":
+               [
+                       [
+                               "fenced",
+                               "fencedBox"
+                       ],
+                       [
+                               "findFirst",
+                               "findFirstMatchIn       (CharSequence)"
+                       ],
+                       [
+                               "autoNu",
+                               "autoNumberingHeader"
+                       ],
+                       [
+                               "to",
+                               "toString"
+                       ]
+               ]
+       },
+       "buffers":
+       [
+               {
+                       "file": "src/main/scala/org/blackquill/main/BlackQuill.scala",
+                       "settings":
+                       {
+                               "buffer_size": 4026,
+                               "line_ending": "Unix"
+                       }
+               },
+               {
+                       "file": "src/main/scala/org/blackquill/engine/BQParser.scala",
+                       "settings":
+                       {
+                               "buffer_size": 40827,
+                               "line_ending": "Unix"
+                       }
+               },
+               {
+                       "file": "mdTest/test16.bq",
+                       "settings":
+                       {
+                               "buffer_size": 702,
+                               "line_ending": "Unix"
+                       }
+               },
+               {
+                       "file": "/Users/set/Desktop/BlackQuill Test/ex2.html",
+                       "settings":
+                       {
+                               "buffer_size": 3196,
+                               "line_ending": "Unix"
+                       }
+               },
+               {
+                       "file": "src/main/scala/org/blackquill/breadboard/LaTeXConverter.scala",
+                       "settings":
+                       {
+                               "buffer_size": 680,
+                               "line_ending": "Unix"
+                       }
+               },
+               {
+                       "file": "src/main/scala/org/blackquill/engine/HTMLMap.scala",
+                       "settings":
+                       {
+                               "buffer_size": 9505,
+                               "line_ending": "Unix"
+                       }
+               },
+               {
+                       "file": ".ensime_session",
+                       "settings":
+                       {
+                               "buffer_size": 581,
+                               "line_ending": "Unix"
+                       }
+               },
+               {
+                       "contents": "",
+                       "settings":
+                       {
+                               "buffer_size": 0,
+                               "line_ending": "Unix",
+                               "name": "Ensime stack",
+                               "scratch": true
+                       }
+               },
+               {
+                       "settings":
+                       {
+                               "buffer_size": 0,
+                               "line_ending": "Unix"
+                       }
+               },
+               {
+                       "contents": "Jul 11, 2013 10:10:02 AM org.blackquill.main.BlackQuill$ blackquill\nINFO: {toc:h2-h6}\\,{nrange:2-6}\\,\\,aaa\\,:bbb\\,ccc\\,:dddddd\\,:eee\\,:ffff\\,\\,*[aaa]{red/yellow}\\,*[bbb]{#00FF00(+1|-1)[Times,suns]}\\,*[bbb]{#FFFFFF/#000000(1|1)[Times]}\\,*[~bbb~]{red(1|1)[Times]}\\,<h2>aaa</h2>\\,### test1\\,aaaaaaaa55555\\,aaaa\\,##### test3\\,## test4\\,<h2>aaa</h2>\\,<h2 id=\"foo\">aaa</h2>\\,\\,aaaaaaa \\begin{TeX}1+2 \\end{TeX} bbbbbbbb\\,\\begin{TeX} A = \\frac{\\alpha + \\beta}{\\gamma + \\delta} \\end{TeX}\\,aaaaaaaaaaaaa\\,\\,% &rarr; 1\\,% &rarr; 2\\,%% &rarr; 2.1.\\,%%% &rarr; 2.1.1.\\,%% &rarr; 2.2.\\,%%% &rarr; 2.2.1\\,%% &rarr; 2.3.\\,% &rarr; 3.\\,\\,|-:b=1 solid gray w=300 rad=10------------|\\,aaaaaa\\,# qqqqqq\\,|-:b=2 solid gray w=200 rad=10------------|\\,aaaaaa\\,|______|\\,cccccc\\,|_________________________________________|\nJul 11, 2013 10:10:04 AM org.blackquill.engine.BQParser org$blackquill$engine$BQParser$$wordDefinition\nINFO: ***{toc:h2-h6}\\,{nrange:2-6}\\,\\,aaa\\,:bbb\\,ccc\\,:dddddd\\,:eee\\,:ffff\\,\\,*[aaa]{red/yellow}\\,*[bbb]{#00FF00(+1|-1)[Times,suns]}\\,*[bbb]{#FFFFFF/#000000(1|1)[Times]}\\,*[~bbb~]{red(1|1)[Times]}\\,<h2>aaa</h2>\\,### test1\\,aaaaaaaa55555\\,aaaa\\,##### test3\\,## test4\\,<h2>aaa</h2>\\,<h2 id=\"foo\">aaa</h2>\\,\\,aaaaaaa <math xmlns=\"http://www.w3.org/1998/Math/MathML\"><semantics><mrow><mn>1</mn><mo>+</mo><mn>2</mn></mrow><annotation encoding=\"SnuggleTeX\">$1+2 $</annotation></semantics></math> bbbbbbbb\\,<math xmlns=\"http://www.w3.org/1998/Math/MathML\"><semantics><mrow><mi>A</mi><mo>=</mo><mfrac><mrow><mi>&alpha;</mi><mo>+</mo><mi>&beta;</mi></mrow><mrow><mi>&gamma;</mi><mo>+</mo><mi>&delta;</mi></mrow></mfrac></mrow><annotation encoding=\"SnuggleTeX\">$ A = \\frac{\\alpha + \\beta}{\\gamma + \\delta} $</annotation></semantics></math>\\,aaaaaaaaaaaaa\\,\\,<h2>1. &rarr; 1</h2>\\,<h2>2. &rarr; 2</h2>\\,<h3>2.1. &rarr; 2.1.</h3>\\,<h4>2.1.1. &rarr; 2.1.1.</h4>\\,<h3>2.2. &rarr; 2.2.</h3>\\,<h4>2.2.1. &rarr; 2.2.1</h4>\\,<h3>2.3. &rarr; 2.3.</h3>\\,<h2>3. &rarr; 3.</h2>\\,\\,|-:b=1 solid gray w=300 rad=10------------|\\,aaaaaa\\,# qqqqqq\\,|-:b=2 solid gray w=200 rad=10------------|\\,aaaaaa\\,|______|\\,cccccc\\,|_________________________________________|\\,\nJul 11, 2013 10:10:04 AM org.blackquill.engine.BQParser org$blackquill$engine$BQParser$$wordDefinition\nINFO: seq ->aaa\\,:bbb\\,ccc\\,:dddddd\\,:eee\\,:ffff\\,\nJul 11, 2013 10:10:04 AM org.blackquill.engine.BQParser org$blackquill$engine$BQParser$$wordDefinition\nINFO: ***{toc:h2-h6}\\,{nrange:2-6}\\,\\,\nJul 11, 2013 10:10:04 AM org.blackquill.engine.BQParser org$blackquill$engine$BQParser$$wordDefinition\nINFO: ***\\,*[aaa]{red/yellow}\\,*[bbb]{#00FF00(+1|-1)[Times,suns]}\\,*[bbb]{#FFFFFF/#000000(1|1)[Times]}\\,*[~bbb~]{red(1|1)[Times]}\\,<h2>aaa</h2>\\,### test1\\,aaaaaaaa55555\\,aaaa\\,##### test3\\,## test4\\,<h2>aaa</h2>\\,<h2 id=\"foo\">aaa</h2>\\,\\,aaaaaaa <math xmlns=\"http://www.w3.org/1998/Math/MathML\"><semantics><mrow><mn>1</mn><mo>+</mo><mn>2</mn></mrow><annotation encoding=\"SnuggleTeX\">$1+2 $</annotation></semantics></math> bbbbbbbb\\,<math xmlns=\"http://www.w3.org/1998/Math/MathML\"><semantics><mrow><mi>A</mi><mo>=</mo><mfrac><mrow><mi>&alpha;</mi><mo>+</mo><mi>&beta;</mi></mrow><mrow><mi>&gamma;</mi><mo>+</mo><mi>&delta;</mi></mrow></mfrac></mrow><annotation encoding=\"SnuggleTeX\">$ A = \\frac{\\alpha + \\beta}{\\gamma + \\delta} $</annotation></semantics></math>\\,aaaaaaaaaaaaa\\,\\,<h2>1. &rarr; 1</h2>\\,<h2>2. &rarr; 2</h2>\\,<h3>2.1. &rarr; 2.1.</h3>\\,<h4>2.1.1. &rarr; 2.1.1.</h4>\\,<h3>2.2. &rarr; 2.2.</h3>\\,<h4>2.2.1. &rarr; 2.2.1</h4>\\,<h3>2.3. &rarr; 2.3.</h3>\\,<h2>3. &rarr; 3.</h2>\\,\\,|-:b=1 solid gray w=300 rad=10------------|\\,aaaaaa\\,# qqqqqq\\,|-:b=2 solid gray w=200 rad=10------------|\\,aaaaaa\\,|______|\\,cccccc\\,|_________________________________________|\\,\nJul 11, 2013 10:10:04 AM org.blackquill.engine.BQParser org$blackquill$engine$BQParser$$colorPen\nINFO: 1\nJul 11, 2013 10:10:04 AM org.blackquill.engine.BQParser org$blackquill$engine$BQParser$$colorPen\nINFO: 1\nJul 11, 2013 10:10:04 AM org.blackquill.engine.BQParser org$blackquill$engine$BQParser$$colorPen\nINFO: 1\nJul 11, 2013 10:10:04 AM org.blackquill.engine.BQParser org$blackquill$engine$BQParser$$generateTOC\nINFO: {toc:h2-h6}\\,{nrange:2-6}\\,\\,\\,<dl>\\,<dt>aaa</dt><dd>bbb</dd>\\,<dt>ccc</dt><dd>dddddd</dd>\\,<dd>eee</dd>\\,<dd>ffff</dd>\\,\\,</dl>\\,<span style=\" color:red; background-color:yellow;()\">aaa</span> \\,<span style=\" color:#00FF00; font-size:larger; font-weight:light font-family:'Times','suns';()\">bbb</span> \\,<span style=\" color:#FFFFFF; background-color:#000000; font-size:larger; font-weight:bolder font-family:'Times';()\">bbb</span> \\,<span style=\" color:red; font-size:larger; font-weight:bolder font-family:'Times'; text-decoration:overline;\">bbb</span> \\,<h2>aaa</h2>\\,<h3 >test1</h3>\\,aaaaaaaa55555\\,aaaa\\,<h5 >test3</h5>\\,<h2 >test4</h2>\\,<h2>aaa</h2>\\,<h2 id=\"foo\">aaa</h2>\\,\\,aaaaaaa <math xmlns=\"http://www.w3.org/1998/Math/MathML\"><semantics><mrow><mn>1</mn><mo>+</mo><mn>2</mn></mrow><annotation encoding=\"SnuggleTeX\">$1+2 $</annotation></semantics></math> bbbbbbbb\\,<math xmlns=\"http://www.w3.org/1998/Math/MathML\"><semantics><mrow><mi>A</mi><mo>=</mo><mfrac><mrow><mi>&alpha;</mi><mo>+</mo><mi>&beta;</mi></mrow><mrow><mi>&gamma;</mi><mo>+</mo><mi>&delta;</mi></mrow></mfrac></mrow><annotation encoding=\"SnuggleTeX\">$ A = \\frac{\\alpha + \\beta}{\\gamma + \\delta} $</annotation></semantics></math>\\,aaaaaaaaaaaaa\\,\\,<h2>1. &rarr; 1</h2>\\,<h2>2. &rarr; 2</h2>\\,<h3>2.1. &rarr; 2.1.</h3>\\,<h4>2.1.1. &rarr; 2.1.1.</h4>\\,<h3>2.2. &rarr; 2.2.</h3>\\,<h4>2.2.1. &rarr; 2.2.1</h4>\\,<h3>2.3. &rarr; 2.3.</h3>\\,<h2>3. &rarr; 3.</h2>\\,\\,|-:b=1 solid gray w=300 rad=10------------|\\,aaaaaa\\,<h1 >qqqqqq</h1>\\,|-:b=2 solid gray w=200 rad=10------------|\\,aaaaaa\\,|______|\\,cccccc\\,|_________________________________________|\\,\nJul 11, 2013 10:10:04 AM org.blackquill.engine.BQParser$$anonfun$makeHeaderMap$1 apply\nINFO: line={toc:h2-h6} No=0\nJul 11, 2013 10:10:04 AM org.blackquill.engine.BQParser$$anonfun$makeHeaderMap$1 apply\nINFO: line={nrange:2-6} No=1\nJul 11, 2013 10:10:04 AM org.blackquill.engine.BQParser$$anonfun$makeHeaderMap$1 apply\nINFO: line= No=2\nJul 11, 2013 10:10:04 AM org.blackquill.engine.BQParser$$anonfun$makeHeaderMap$1 apply\nINFO: line= No=3\nJul 11, 2013 10:10:04 AM org.blackquill.engine.BQParser$$anonfun$makeHeaderMap$1 apply\nINFO: line=<dl> No=4\nJul 11, 2013 10:10:04 AM org.blackquill.engine.BQParser$$anonfun$makeHeaderMap$1 apply\nINFO: line=<dt>aaa</dt><dd>bbb</dd> No=5\nJul 11, 2013 10:10:04 AM org.blackquill.engine.BQParser$$anonfun$makeHeaderMap$1 apply\nINFO: line=<dt>ccc</dt><dd>dddddd</dd> No=6\nJul 11, 2013 10:10:04 AM org.blackquill.engine.BQParser$$anonfun$makeHeaderMap$1 apply\nINFO: line=<dd>eee</dd> No=7\nJul 11, 2013 10:10:04 AM org.blackquill.engine.BQParser$$anonfun$makeHeaderMap$1 apply\nINFO: line=<dd>ffff</dd> No=8\nJul 11, 2013 10:10:04 AM org.blackquill.engine.BQParser$$anonfun$makeHeaderMap$1 apply\nINFO: line= No=9\nJul 11, 2013 10:10:04 AM org.blackquill.engine.BQParser$$anonfun$makeHeaderMap$1 apply\nINFO: line=</dl> No=10\nJul 11, 2013 10:10:04 AM org.blackquill.engine.BQParser$$anonfun$makeHeaderMap$1 apply\nINFO: line=<span style=\" color:red; background-color:yellow;()\">aaa</span>  No=11\nJul 11, 2013 10:10:04 AM org.blackquill.engine.BQParser$$anonfun$makeHeaderMap$1 apply\nINFO: line=<span style=\" color:#00FF00; font-size:larger; font-weight:light font-family:'Times','suns';()\">bbb</span>  No=12\nJul 11, 2013 10:10:04 AM org.blackquill.engine.BQParser$$anonfun$makeHeaderMap$1 apply\nINFO: line=<span style=\" color:#FFFFFF; background-color:#000000; font-size:larger; font-weight:bolder font-family:'Times';()\">bbb</span>  No=13\nJul 11, 2013 10:10:04 AM org.blackquill.engine.BQParser$$anonfun$makeHeaderMap$1 apply\nINFO: line=<span style=\" color:red; font-size:larger; font-weight:bolder font-family:'Times'; text-decoration:overline;\">bbb</span>  No=14\nJul 11, 2013 10:10:04 AM org.blackquill.engine.BQParser$$anonfun$makeHeaderMap$1 apply\nINFO: line=<h2>aaa</h2> No=15\nJul 11, 2013 10:10:04 AM org.blackquill.engine.BQParser$$anonfun$makeHeaderMap$1 apply\nINFO: line=<h3 >test1</h3> No=16\nJul 11, 2013 10:10:04 AM org.blackquill.engine.BQParser$$anonfun$makeHeaderMap$1 apply\nINFO: line=aaaaaaaa55555 No=17\nJul 11, 2013 10:10:04 AM org.blackquill.engine.BQParser$$anonfun$makeHeaderMap$1 apply\nINFO: line=aaaa No=18\nJul 11, 2013 10:10:04 AM org.blackquill.engine.BQParser$$anonfun$makeHeaderMap$1 apply\nINFO: line=<h5 >test3</h5> No=19\nJul 11, 2013 10:10:04 AM org.blackquill.engine.BQParser$$anonfun$makeHeaderMap$1 apply\nINFO: line=<h2 >test4</h2> No=20\nJul 11, 2013 10:10:04 AM org.blackquill.engine.BQParser$$anonfun$makeHeaderMap$1 apply\nINFO: line=<h2>aaa</h2> No=21\nJul 11, 2013 10:10:04 AM org.blackquill.engine.BQParser$$anonfun$makeHeaderMap$1 apply\nINFO: line=<h2 id=\"foo\">aaa</h2> No=22\nJul 11, 2013 10:10:04 AM org.blackquill.engine.BQParser$$anonfun$makeHeaderMap$1 apply\nINFO: line= No=23\nJul 11, 2013 10:10:04 AM org.blackquill.engine.BQParser$$anonfun$makeHeaderMap$1 apply\nINFO: line=aaaaaaa <math xmlns=\"http://www.w3.org/1998/Math/MathML\"><semantics><mrow><mn>1</mn><mo>+</mo><mn>2</mn></mrow><annotation encoding=\"SnuggleTeX\">$1+2 $</annotation></semantics></math> bbbbbbbb No=24\nJul 11, 2013 10:10:04 AM org.blackquill.engine.BQParser$$anonfun$makeHeaderMap$1 apply\nINFO: line=<math xmlns=\"http://www.w3.org/1998/Math/MathML\"><semantics><mrow><mi>A</mi><mo>=</mo><mfrac><mrow><mi>&alpha;</mi><mo>+</mo><mi>&beta;</mi></mrow><mrow><mi>&gamma;</mi><mo>+</mo><mi>&delta;</mi></mrow></mfrac></mrow><annotation encoding=\"SnuggleTeX\">$ A = \\frac{\\alpha + \\beta}{\\gamma + \\delta} $</annotation></semantics></math> No=25\nJul 11, 2013 10:10:04 AM org.blackquill.engine.BQParser$$anonfun$makeHeaderMap$1 apply\nINFO: line=aaaaaaaaaaaaa No=26\nJul 11, 2013 10:10:04 AM org.blackquill.engine.BQParser$$anonfun$makeHeaderMap$1 apply\nINFO: line= No=27\nJul 11, 2013 10:10:04 AM org.blackquill.engine.BQParser$$anonfun$makeHeaderMap$1 apply\nINFO: line=<h2>1. &rarr; 1</h2> No=28\nJul 11, 2013 10:10:04 AM org.blackquill.engine.BQParser$$anonfun$makeHeaderMap$1 apply\nINFO: line=<h2>2. &rarr; 2</h2> No=29\nJul 11, 2013 10:10:04 AM org.blackquill.engine.BQParser$$anonfun$makeHeaderMap$1 apply\nINFO: line=<h3>2.1. &rarr; 2.1.</h3> No=30\nJul 11, 2013 10:10:04 AM org.blackquill.engine.BQParser$$anonfun$makeHeaderMap$1 apply\nINFO: line=<h4>2.1.1. &rarr; 2.1.1.</h4> No=31\nJul 11, 2013 10:10:04 AM org.blackquill.engine.BQParser$$anonfun$makeHeaderMap$1 apply\nINFO: line=<h3>2.2. &rarr; 2.2.</h3> No=32\nJul 11, 2013 10:10:04 AM org.blackquill.engine.BQParser$$anonfun$makeHeaderMap$1 apply\nINFO: line=<h4>2.2.1. &rarr; 2.2.1</h4> No=33\nJul 11, 2013 10:10:04 AM org.blackquill.engine.BQParser$$anonfun$makeHeaderMap$1 apply\nINFO: line=<h3>2.3. &rarr; 2.3.</h3> No=34\nJul 11, 2013 10:10:04 AM org.blackquill.engine.BQParser$$anonfun$makeHeaderMap$1 apply\nINFO: line=<h2>3. &rarr; 3.</h2> No=35\nJul 11, 2013 10:10:04 AM org.blackquill.engine.BQParser$$anonfun$makeHeaderMap$1 apply\nINFO: line= No=36\nJul 11, 2013 10:10:04 AM org.blackquill.engine.BQParser$$anonfun$makeHeaderMap$1 apply\nINFO: line=|-:b=1 solid gray w=300 rad=10------------| No=37\nJul 11, 2013 10:10:04 AM org.blackquill.engine.BQParser$$anonfun$makeHeaderMap$1 apply\nINFO: line=aaaaaa No=38\nJul 11, 2013 10:10:04 AM org.blackquill.engine.BQParser$$anonfun$makeHeaderMap$1 apply\nINFO: line=<h1 >qqqqqq</h1> No=39\nJul 11, 2013 10:10:04 AM org.blackquill.engine.BQParser$$anonfun$makeHeaderMap$1 apply\nINFO: line=|-:b=2 solid gray w=200 rad=10------------| No=40\nJul 11, 2013 10:10:04 AM org.blackquill.engine.BQParser$$anonfun$makeHeaderMap$1 apply\nINFO: line=aaaaaa No=41\nJul 11, 2013 10:10:04 AM org.blackquill.engine.BQParser$$anonfun$makeHeaderMap$1 apply\nINFO: line=|______| No=42\nJul 11, 2013 10:10:04 AM org.blackquill.engine.BQParser$$anonfun$makeHeaderMap$1 apply\nINFO: line=cccccc No=43\nJul 11, 2013 10:10:04 AM org.blackquill.engine.BQParser$$anonfun$makeHeaderMap$1 apply\nINFO: line=|_________________________________________| No=44\nJul 11, 2013 10:10:04 AM org.blackquill.engine.BQParser makeHeaderMap\nINFO: List((35,2,None,3. &rarr; 3.), (34,3,None,2.3. &rarr; 2.3.), (33,4,None,2.2.1. &rarr; 2.2.1), (32,3,None,2.2. &rarr; 2.2.), (31,4,None,2.1.1. &rarr; 2.1.1.), (30,3,None,2.1. &rarr; 2.1.), (29,2,None,2. &rarr; 2), (28,2,None,1. &rarr; 1), (22,2,Some(foo),aaa), (21,2,None,aaa), (20,2,None,test4), (19,5,None,test3), (16,3,None,test1), (15,2,None,aaa))\nJul 11, 2013 10:10:04 AM org.blackquill.engine.BQParser org$blackquill$engine$BQParser$$surroundByGeneralTAG\nINFO: <header>\\\\,<ul style=\"list-style:none\" id=\"toc\"><nav>\\\\,<li><a href=\"#2:aaa:15\" ><h2>aaa</h2></a></li>\\,<ul style=\"list-style:none\" >\\\\,<li><a href=\"#3:test1:16\" ><h3>test1</h3></a></li>\\,<ul style=\"list-style:none\" >\\\\,<li><a href=\"#5:test3:19\" ><h5>test3</h5></a></li>\\,</ul>\\\\,</ul>\\\\,<li><a href=\"#2:test4:20\" ><h2>test4</h2></a></li>\\,<li><a href=\"#2:aaa:21\" ><h2>aaa</h2></a></li>\\,<li><a href=\"#foo\" ><h2>aaa</h2></a></li>\\,<li><a href=\"#2:1. &rarr; 1:28\" ><h2>1. &rarr; 1</h2></a></li>\\,<li><a href=\"#2:2. &rarr; 2:29\" ><h2>2. &rarr; 2</h2></a></li>\\,<ul style=\"list-style:none\" >\\\\,<li><a href=\"#3:2.1. &rarr; 2.1.:30\" ><h3>2.1. &rarr; 2.1.</h3></a></li>\\,<ul style=\"list-style:none\" >\\\\,<li><a href=\"#4:2.1.1. &rarr; 2.1.1.:31\" ><h4>2.1.1. &rarr; 2.1.1.</h4></a></li>\\,</ul>\\\\,</ul>\\\\,<li><a href=\"#3:2.2. &rarr; 2.2.:32\" ><h3>2.2. &rarr; 2.2.</h3></a></li>\\,<ul style=\"list-style:none\" >\\\\,<li><a href=\"#4:2.2.1. &rarr; 2.2.1:33\" ><h4>2.2.1. &rarr; 2.2.1</h4></a></li>\\,</ul>\\\\,<li><a href=\"#3:2.3. &rarr; 2.3.:34\" ><h3>2.3. &rarr; 2.3.</h3></a></li>\\,<li><a href=\"#2:3. &rarr; 3.:35\" ><h2>3. &rarr; 3.</h2></a></li>\\,</nav></ul>\\,</header>\\\\,{nrange:2-6}\\\\,\\\\,\\\\,<dl>\\\\,<dt>aaa</dt><dd>bbb</dd>\\\\,<dt>ccc</dt><dd>dddddd</dd>\\\\,<dd>eee</dd>\\\\,<dd>ffff</dd>\\\\,\\\\,</dl>\\\\,<span style=\" color:red; background-color:yellow;()\">aaa</span> \\\\,<span style=\" color:#00FF00; font-size:larger; font-weight:light font-family:'Times','suns';()\">bbb</span> \\\\,<span style=\" color:#FFFFFF; background-color:#000000; font-size:larger; font-weight:bolder font-family:'Times';()\">bbb</span> \\\\,<span style=\" color:red; font-size:larger; font-weight:bolder font-family:'Times'; text-decoration:overline;\">bbb</span> \\\\,<h2 id=\"2:aaa:15\">aaa</h2>\\,<h3 id=\"3:test1:16\">test1</h3>\\,aaaaaaaa55555\\\\,aaaa\\\\,<h5 id=\"5:test3:19\">test3</h5>\\,<h2 id=\"2:test4:20\">test4</h2>\\,<h2 id=\"2:aaa:21\">aaa</h2>\\,<h2 id=\"foo\">aaa</h2>\\\\,\\\\,aaaaaaa <math xmlns=\"http://www.w3.org/1998/Math/MathML\"><semantics><mrow><mn>1</mn><mo>+</mo><mn>2</mn></mrow><annotation encoding=\"SnuggleTeX\">$1+2 $</annotation></semantics></math> bbbbbbbb\\\\,<math xmlns=\"http://www.w3.org/1998/Math/MathML\"><semantics><mrow><mi>A</mi><mo>=</mo><mfrac><mrow><mi>&alpha;</mi><mo>+</mo><mi>&beta;</mi></mrow><mrow><mi>&gamma;</mi><mo>+</mo><mi>&delta;</mi></mrow></mfrac></mrow><annotation encoding=\"SnuggleTeX\">$ A = \\frac{\\alpha + \\beta}{\\gamma + \\delta} $</annotation></semantics></math>\\\\,aaaaaaaaaaaaa\\\\,\\\\,<h2 id=\"2:1. &rarr; 1:28\">1. &rarr; 1</h2>\\,<h2 id=\"2:2. &rarr; 2:29\">2. &rarr; 2</h2>\\,<h3 id=\"3:2.1. &rarr; 2.1.:30\">2.1. &rarr; 2.1.</h3>\\,<h4 id=\"4:2.1.1. &rarr; 2.1.1.:31\">2.1.1. &rarr; 2.1.1.</h4>\\,<h3 id=\"3:2.2. &rarr; 2.2.:32\">2.2. &rarr; 2.2.</h3>\\,<h4 id=\"4:2.2.1. &rarr; 2.2.1:33\">2.2.1. &rarr; 2.2.1</h4>\\,<h3 id=\"3:2.3. &rarr; 2.3.:34\">2.3. &rarr; 2.3.</h3>\\,<h2 id=\"2:3. &rarr; 3.:35\">3. &rarr; 3.</h2>\\,\\\\,|-:b=1 solid gray w=300 rad=10------------|\\\\,aaaaaa\\\\,<h1 >qqqqqq</h1>\\\\,|-:b=2 solid gray w=200 rad=10------------|\\\\,aaaaaa\\\\,|______|\\\\,cccccc\\\\,|_________________________________________|\\\\,\nJul 11, 2013 10:10:04 AM org.blackquill.engine.BQParser org$blackquill$engine$BQParser$$surroundByGeneralTAG\nINFO: <header>\\\\,<ul style=\"list-style:none\" id=\"toc\"><nav>\\\\,<li><a href=\"#2:aaa:15\" ><h2>aaa</h2></a></li>\\,<ul style=\"list-style:none\" >\\\\,<li><a href=\"#3:test1:16\" ><h3>test1</h3></a></li>\\,<ul style=\"list-style:none\" >\\\\,<li><a href=\"#5:test3:19\" ><h5>test3</h5></a></li>\\,</ul>\\\\,</ul>\\\\,<li><a href=\"#2:test4:20\" ><h2>test4</h2></a></li>\\,<li><a href=\"#2:aaa:21\" ><h2>aaa</h2></a></li>\\,<li><a href=\"#foo\" ><h2>aaa</h2></a></li>\\,<li><a href=\"#2:1. &rarr; 1:28\" ><h2>1. &rarr; 1</h2></a></li>\\,<li><a href=\"#2:2. &rarr; 2:29\" ><h2>2. &rarr; 2</h2></a></li>\\,<ul style=\"list-style:none\" >\\\\,<li><a href=\"#3:2.1. &rarr; 2.1.:30\" ><h3>2.1. &rarr; 2.1.</h3></a></li>\\,<ul style=\"list-style:none\" >\\\\,<li><a href=\"#4:2.1.1. &rarr; 2.1.1.:31\" ><h4>2.1.1. &rarr; 2.1.1.</h4></a></li>\\,</ul>\\\\,</ul>\\\\,<li><a href=\"#3:2.2. &rarr; 2.2.:32\" ><h3>2.2. &rarr; 2.2.</h3></a></li>\\,<ul style=\"list-style:none\" >\\\\,<li><a href=\"#4:2.2.1. &rarr; 2.2.1:33\" ><h4>2.2.1. &rarr; 2.2.1</h4></a></li>\\,</ul>\\\\,<li><a href=\"#3:2.3. &rarr; 2.3.:34\" ><h3>2.3. &rarr; 2.3.</h3></a></li>\\,<li><a href=\"#2:3. &rarr; 3.:35\" ><h2>3. &rarr; 3.</h2></a></li>\\,</nav></ul>\\,</header>\\\\,{nrange:2-6}\\\\,\\\\,\\\\,<dl>\\\\,<dt>aaa</dt><dd>bbb</dd>\\\\,<dt>ccc</dt><dd>dddddd</dd>\\\\,<dd>eee</dd>\\\\,<dd>ffff</dd>\\\\,\\\\,</dl>\\\\,<span style=\" color:red; background-color:yellow;()\">aaa</span> \\\\,<span style=\" color:#00FF00; font-size:larger; font-weight:light font-family:'Times','suns';()\">bbb</span> \\\\,<span style=\" color:#FFFFFF; background-color:#000000; font-size:larger; font-weight:bolder font-family:'Times';()\">bbb</span> \\\\,<span style=\" color:red; font-size:larger; font-weight:bolder font-family:'Times'; text-decoration:overline;\">bbb</span> \\\\,<h2 id=\"2:aaa:15\">aaa</h2>\\,<h3 id=\"3:test1:16\">test1</h3>\\,aaaaaaaa55555\\\\,aaaa\\\\,<h5 id=\"5:test3:19\">test3</h5>\\,<h2 id=\"2:test4:20\">test4</h2>\\,<h2 id=\"2:aaa:21\">aaa</h2>\\,<h2 id=\"foo\">aaa</h2>\\\\,\\\\,aaaaaaa <math xmlns=\"http://www.w3.org/1998/Math/MathML\"><semantics><mrow><mn>1</mn><mo>+</mo><mn>2</mn></mrow><annotation encoding=\"SnuggleTeX\">$1+2 $</annotation></semantics></math> bbbbbbbb\\\\,<math xmlns=\"http://www.w3.org/1998/Math/MathML\"><semantics><mrow><mi>A</mi><mo>=</mo><mfrac><mrow><mi>&alpha;</mi><mo>+</mo><mi>&beta;</mi></mrow><mrow><mi>&gamma;</mi><mo>+</mo><mi>&delta;</mi></mrow></mfrac></mrow><annotation encoding=\"SnuggleTeX\">$ A = \\frac{\\alpha + \\beta}{\\gamma + \\delta} $</annotation></semantics></math>\\\\,aaaaaaaaaaaaa\\\\,\\\\,<h2 id=\"2:1. &rarr; 1:28\">1. &rarr; 1</h2>\\,<h2 id=\"2:2. &rarr; 2:29\">2. &rarr; 2</h2>\\,<h3 id=\"3:2.1. &rarr; 2.1.:30\">2.1. &rarr; 2.1.</h3>\\,<h4 id=\"4:2.1.1. &rarr; 2.1.1.:31\">2.1.1. &rarr; 2.1.1.</h4>\\,<h3 id=\"3:2.2. &rarr; 2.2.:32\">2.2. &rarr; 2.2.</h3>\\,<h4 id=\"4:2.2.1. &rarr; 2.2.1:33\">2.2.1. &rarr; 2.2.1</h4>\\,<h3 id=\"3:2.3. &rarr; 2.3.:34\">2.3. &rarr; 2.3.</h3>\\,<h2 id=\"2:3. &rarr; 3.:35\">3. &rarr; 3.</h2>\\,\\\\,|-:b=1 solid gray w=300 rad=10------------|\\\\,aaaaaa\\\\,<h1 >qqqqqq</h1>\\\\,|-:b=2 solid gray w=200 rad=10------------|\\\\,aaaaaa\\\\,|______|\\\\,cccccc\\\\,|_________________________________________|\\\\,\nJul 11, 2013 10:10:04 AM org.blackquill.main.BlackQuill$ blackquill\nINFO: <!DOCTYPE html>\n<head>\n<title>test1</title>\n</head>\n<html>\n<body>\n<header>\n<ul style=\"list-style:none\" id=\"toc\"><nav>\n<li><a href=\"#2:aaa:15\" ><h2>aaa</h2></a></li>\n<ul style=\"list-style:none\" >\n<li><a href=\"#3:test1:16\" ><h3>test1</h3></a></li>\n<ul style=\"list-style:none\" >\n<li><a href=\"#5:test3:19\" ><h5>test3</h5></a></li>\n</ul>\n</ul>\n<li><a href=\"#2:test4:20\" ><h2>test4</h2></a></li>\n<li><a href=\"#2:aaa:21\" ><h2>aaa</h2></a></li>\n<li><a href=\"#foo\" ><h2>aaa</h2></a></li>\n<li><a href=\"#2:1. &rarr; 1:28\" ><h2>1. &rarr; 1</h2></a></li>\n<li><a href=\"#2:2. &rarr; 2:29\" ><h2>2. &rarr; 2</h2></a></li>\n<ul style=\"list-style:none\" >\n<li><a href=\"#3:2.1. &rarr; 2.1.:30\" ><h3>2.1. &rarr; 2.1.</h3></a></li>\n<ul style=\"list-style:none\" >\n<li><a href=\"#4:2.1.1. &rarr; 2.1.1.:31\" ><h4>2.1.1. &rarr; 2.1.1.</h4></a></li>\n</ul>\n</ul>\n<li><a href=\"#3:2.2. &rarr; 2.2.:32\" ><h3>2.2. &rarr; 2.2.</h3></a></li>\n<ul style=\"list-style:none\" >\n<li><a href=\"#4:2.2.1. &rarr; 2.2.1:33\" ><h4>2.2.1. &rarr; 2.2.1</h4></a></li>\n</ul>\n<li><a href=\"#3:2.3. &rarr; 2.3.:34\" ><h3>2.3. &rarr; 2.3.</h3></a></li>\n<li><a href=\"#2:3. &rarr; 3.:35\" ><h2>3. &rarr; 3.</h2></a></li>\n</nav></ul>\n</header>\n<p>{nrange:2-6}</p>\n<dl>\n<dt>aaa</dt><dd>bbb</dd>\n<dt>ccc</dt><dd>dddddd</dd>\n<dd>eee</dd>\n<dd>ffff</dd>\n\n</dl>\n<p><span style=\" color:red; background-color:yellow;()\">aaa</span> </p>\n<p><span style=\" color:#00FF00; font-size:larger; font-weight:light font-family:'Times','suns';()\">bbb</span> </p>\n<p><span style=\" color:#FFFFFF; background-color:#000000; font-size:larger; font-weight:bolder font-family:'Times';()\">bbb</span> </p>\n<p><span style=\" color:red; font-size:larger; font-weight:bolder font-family:'Times'; text-decoration:overline;\">bbb</span> </p>\n<h2 id=\"2:aaa:15\">aaa</h2>\n<h3 id=\"3:test1:16\">test1</h3>\n<p>aaaaaaaa55555</p>\n<p>aaaa</p>\n<h5 id=\"5:test3:19\">test3</h5>\n<h2 id=\"2:test4:20\">test4</h2>\n<h2 id=\"2:aaa:21\">aaa</h2>\n<h2 id=\"foo\">aaa</h2>\n<p>aaaaaaa <math xmlns=\"http://www.w3.org/1998/Math/MathML\"><semantics><mrow><mn>1</mn><mo>+</mo><mn>2</mn></mrow><annotation encoding=\"SnuggleTeX\">$1+2 $</annotation></semantics></math> bbbbbbbb</p>\n<p><math xmlns=\"http://www.w3.org/1998/Math/MathML\"><semantics><mrow><mi>A</mi><mo>=</mo><mfrac><mrow><mi>&alpha;</mi><mo>+</mo><mi>&beta;</mi></mrow><mrow><mi>&gamma;</mi><mo>+</mo><mi>&delta;</mi></mrow></mfrac></mrow><annotation encoding=\"SnuggleTeX\">$ A = \\frac{\\alpha + \\beta}{\\gamma + \\delta} $</annotation></semantics></math></p>\n<p>aaaaaaaaaaaaa</p>\n<h2 id=\"2:1. &rarr; 1:28\">1. &rarr; 1</h2>\n<h2 id=\"2:2. &rarr; 2:29\">2. &rarr; 2</h2>\n<h3 id=\"3:2.1. &rarr; 2.1.:30\">2.1. &rarr; 2.1.</h3>\n<h4 id=\"4:2.1.1. &rarr; 2.1.1.:31\">2.1.1. &rarr; 2.1.1.</h4>\n<h3 id=\"3:2.2. &rarr; 2.2.:32\">2.2. &rarr; 2.2.</h3>\n<h4 id=\"4:2.2.1. &rarr; 2.2.1:33\">2.2.1. &rarr; 2.2.1</h4>\n<h3 id=\"3:2.3. &rarr; 2.3.:34\">2.3. &rarr; 2.3.</h3>\n<h2 id=\"2:3. &rarr; 3.:35\">3. &rarr; 3.</h2>\n<div style=\"border:1px solid gray; width:300px;border-radius:10px;\"> \naaaaaa\n<h1 >qqqqqq</h1>\n<div style=\"border:2px solid gray; width:200px;border-radius:10px;\"> \naaaaaa\n</div>\n\n</body>\n</html>\n",
+                       "settings":
+                       {
+                               "buffer_size": 21995,
+                               "line_ending": "Unix",
+                               "name": "Ensime output",
+                               "scratch": true
+                       }
+               },
+               {
+                       "contents": "",
+                       "settings":
+                       {
+                               "buffer_size": 0,
+                               "line_ending": "Unix",
+                               "name": "Ensime watches",
+                               "scratch": true
+                       }
+               },
+               {
+                       "file": "/Users/set/Desktop/arduino/LED/LED.ino",
+                       "settings":
+                       {
+                               "buffer_size": 837,
+                               "line_ending": "Unix"
+                       }
+               }
+       ],
+       "build_system": "",
+       "command_palette":
+       {
+               "height": 389.0,
+               "selected_items":
+               [
+                       [
+                               "Gre",
+                               "GrepCode Search"
+                       ],
+                       [
+                               ":insta",
+                               "Package Control: Install Package"
+                       ],
+                       [
+                               ":w",
+                               ":w - Save"
+                       ],
+                       [
+                               ":W",
+                               ":w - Save"
+                       ],
+                       [
+                               ":",
+                               "Ensime: Session"
+                       ],
+                       [
+                               "install",
+                               "Package Control: Install Package"
+                       ],
+                       [
+                               "remove",
+                               "Package Control: Remove Package"
+                       ],
+                       [
+                               "package",
+                               "Package Control: Remove Package"
+                       ],
+                       [
+                               "packa",
+                               "Package Control: Remove Package"
+                       ],
+                       [
+                               "ensime",
+                               "Ensime: Build"
+                       ],
+                       [
+                               "ensime:start",
+                               "Ensime: Restart"
+                       ],
+                       [
+                               "install ",
+                               "Package Control: Install Package"
+                       ],
+                       [
+                               "install pack",
+                               "Package Control: Install Package"
+                       ]
+               ],
+               "width": 449.0
+       },
+       "console":
+       {
+               "height": 125.0
+       },
+       "distraction_free":
+       {
+               "menu_visible": true,
+               "show_minimap": false,
+               "show_open_files": false,
+               "show_tabs": false,
+               "side_bar_visible": false,
+               "status_bar_visible": false
+       },
+       "file_history":
+       [
+               "/Users/set/Desktop/arduino/LED.ino",
+               "/Users/set/Desktop/arduino/PWM.ino",
+               "/Users/set/Desktop/sbt-projects/BlackQuill/src/main/scala/org/blackquill/engine/BQParser.scala",
+               "/Users/set/Desktop/sbt-projects/BlackQuill/src/test/scala/MarkdownSpecification.scala",
+               "/Users/set/Library/Application Support/Sublime Text 2/Packages/User/Preferences.sublime-settings",
+               "/Users/set/Desktop/sbt-projects/BlackQuill/.ensime_session",
+               "/Users/set/Library/Application Support/Sublime Text 2/Packages/User/Default (OSX).sublime-keymap",
+               "/Users/set/Library/Application Support/Sublime Text 2/Packages/Ensime/Default (OSX).sublime-keymap",
+               "/Users/set/Library/Application Support/Sublime Text 2/Packages/Ensime/Ensime.sublime-settings",
+               "/Users/set/Library/Application Support/Sublime Text 2/Packages/MarkdownEditing/Markdown.sublime-settings",
+               "/Users/set/Library/Application Support/Sublime Text 2/Packages/Package Control/Package Control.sublime-settings",
+               "/Users/set/Library/Application Support/Sublime Text 2/Packages/User/sbt.sublime-build",
+               "/Users/set/Desktop/sbt-projects/BlackQuill/.ensime",
+               "/Users/set/Library/Application Support/Sublime Text 2/Packages/User/Markdown.sublime-settings",
+               "/private/tmp/Fonts 2/SVG/Mathematica1-Bold.svg",
+               "/Users/set/Library/Application Support/Sublime Text 2/Packages/Default/Preferences.sublime-settings"
+       ],
+       "find":
+       {
+               "height": 35.0
+       },
+       "find_in_files":
+       {
+               "height": 0.0,
+               "where_history":
+               [
+               ]
+       },
+       "find_state":
+       {
+               "case_sensitive": false,
+               "find_history":
+               [
+                       "CSS",
+                       "\"\"\"^(.*)\\|\\-:\\{(.*?)\\}\\|(.*?)\"\"\"",
+                       ";\">",
+                       "late",
+                       "fencedBoxByClass",
+                       "following",
+                       "twitter"
+               ],
+               "highlight": true,
+               "in_selection": false,
+               "preserve_case": false,
+               "regex": false,
+               "replace_history":
+               [
+               ],
+               "reverse": false,
+               "show_context": true,
+               "use_buffer2": true,
+               "whole_word": false,
+               "wrap": true
+       },
+       "groups":
+       [
+               {
+                       "selected": 1,
+                       "sheets":
+                       [
+                               {
+                                       "buffer": 0,
+                                       "file": "src/main/scala/org/blackquill/main/BlackQuill.scala",
+                                       "settings":
+                                       {
+                                               "buffer_size": 4026,
+                                               "regions":
+                                               {
+                                               },
+                                               "selection":
+                                               [
+                                                       [
+                                                               3989,
+                                                               3989
+                                                       ]
+                                               ],
+                                               "settings":
+                                               {
+                                                       "syntax": "Packages/Scala/Scala.tmLanguage",
+                                                       "tab_size": 2,
+                                                       "translate_tabs_to_spaces": true
+                                               },
+                                               "translation.x": 0.0,
+                                               "translation.y": 0.0,
+                                               "zoom_level": 1.0
+                                       },
+                                       "type": "text"
+                               },
+                               {
+                                       "buffer": 1,
+                                       "file": "src/main/scala/org/blackquill/engine/BQParser.scala",
+                                       "settings":
+                                       {
+                                               "buffer_size": 40827,
+                                               "regions":
+                                               {
+                                               },
+                                               "selection":
+                                               [
+                                                       [
+                                                               21106,
+                                                               21106
+                                                       ]
+                                               ],
+                                               "settings":
+                                               {
+                                                       "syntax": "Packages/Scala/Scala.tmLanguage",
+                                                       "translate_tabs_to_spaces": false
+                                               },
+                                               "translation.x": 0.0,
+                                               "translation.y": 10543.0,
+                                               "zoom_level": 1.0
+                                       },
+                                       "type": "text"
+                               },
+                               {
+                                       "buffer": 2,
+                                       "file": "mdTest/test16.bq",
+                                       "settings":
+                                       {
+                                               "buffer_size": 702,
+                                               "regions":
+                                               {
+                                               },
+                                               "selection":
+                                               [
+                                                       [
+                                                               657,
+                                                               657
+                                                       ]
+                                               ],
+                                               "settings":
+                                               {
+                                                       "syntax": "Packages/Markdown/Markdown.tmLanguage"
+                                               },
+                                               "translation.x": 0.0,
+                                               "translation.y": 0.0,
+                                               "zoom_level": 1.0
+                                       },
+                                       "type": "text"
+                               },
+                               {
+                                       "buffer": 3,
+                                       "file": "/Users/set/Desktop/BlackQuill Test/ex2.html",
+                                       "settings":
+                                       {
+                                               "buffer_size": 3196,
+                                               "regions":
+                                               {
+                                               },
+                                               "selection":
+                                               [
+                                                       [
+                                                               3196,
+                                                               3196
+                                                       ]
+                                               ],
+                                               "settings":
+                                               {
+                                                       "syntax": "Packages/HTML/HTML.tmLanguage"
+                                               },
+                                               "translation.x": 0.0,
+                                               "translation.y": 712.0,
+                                               "zoom_level": 1.0
+                                       },
+                                       "type": "text"
+                               },
+                               {
+                                       "buffer": 4,
+                                       "file": "src/main/scala/org/blackquill/breadboard/LaTeXConverter.scala",
+                                       "settings":
+                                       {
+                                               "buffer_size": 680,
+                                               "regions":
+                                               {
+                                               },
+                                               "selection":
+                                               [
+                                                       [
+                                                               526,
+                                                               526
+                                                       ]
+                                               ],
+                                               "settings":
+                                               {
+                                                       "syntax": "Packages/Scala/Scala.tmLanguage",
+                                                       "translate_tabs_to_spaces": false
+                                               },
+                                               "translation.x": 0.0,
+                                               "translation.y": 0.0,
+                                               "zoom_level": 1.0
+                                       },
+                                       "type": "text"
+                               },
+                               {
+                                       "buffer": 5,
+                                       "file": "src/main/scala/org/blackquill/engine/HTMLMap.scala",
+                                       "settings":
+                                       {
+                                               "buffer_size": 9505,
+                                               "regions":
+                                               {
+                                               },
+                                               "selection":
+                                               [
+                                                       [
+                                                               766,
+                                                               766
+                                                       ]
+                                               ],
+                                               "settings":
+                                               {
+                                                       "syntax": "Packages/Scala/Scala.tmLanguage",
+                                                       "tab_size": 2,
+                                                       "translate_tabs_to_spaces": true
+                                               },
+                                               "translation.x": 0.0,
+                                               "translation.y": 0.0,
+                                               "zoom_level": 1.0
+                                       },
+                                       "type": "text"
+                               },
+                               {
+                                       "buffer": 6,
+                                       "file": ".ensime_session",
+                                       "settings":
+                                       {
+                                               "buffer_size": 581,
+                                               "regions":
+                                               {
+                                               },
+                                               "selection":
+                                               [
+                                                       [
+                                                               0,
+                                                               0
+                                                       ]
+                                               ],
+                                               "settings":
+                                               {
+                                                       "syntax": "Packages/Ensime/DotSession.tmLanguage",
+                                                       "tab_size": 2,
+                                                       "translate_tabs_to_spaces": true
+                                               },
+                                               "translation.x": 0.0,
+                                               "translation.y": 0.0,
+                                               "zoom_level": 1.0
+                                       },
+                                       "type": "text"
+                               }
+                       ]
+               },
+               {
+                       "selected": 1,
+                       "sheets":
+                       [
+                               {
+                                       "buffer": 7,
+                                       "settings":
+                                       {
+                                               "buffer_size": 0,
+                                               "regions":
+                                               {
+                                               },
+                                               "selection":
+                                               [
+                                                       [
+                                                               0,
+                                                               0
+                                                       ]
+                                               ],
+                                               "settings":
+                                               {
+                                                       "syntax": "Packages/Text/Plain text.tmLanguage"
+                                               },
+                                               "translation.x": 0.0,
+                                               "translation.y": 0.0,
+                                               "zoom_level": 1.0
+                                       },
+                                       "type": "text"
+                               },
+                               {
+                                       "buffer": 8,
+                                       "settings":
+                                       {
+                                               "buffer_size": 0,
+                                               "regions":
+                                               {
+                                               },
+                                               "selection":
+                                               [
+                                                       [
+                                                               0,
+                                                               0
+                                                       ]
+                                               ],
+                                               "settings":
+                                               {
+                                                       "syntax": "Packages/Text/Plain text.tmLanguage"
+                                               },
+                                               "translation.x": 0.0,
+                                               "translation.y": 0.0,
+                                               "zoom_level": 1.0
+                                       },
+                                       "type": "text"
+                               }
+                       ]
+               },
+               {
+                       "selected": 2,
+                       "sheets":
+                       [
+                               {
+                                       "buffer": 9,
+                                       "settings":
+                                       {
+                                               "buffer_size": 21995,
+                                               "regions":
+                                               {
+                                               },
+                                               "selection":
+                                               [
+                                                       [
+                                                               21995,
+                                                               21995
+                                                       ]
+                                               ],
+                                               "settings":
+                                               {
+                                                       "result_base_dir": "/Users/set/Desktop/sbt-projects/BlackQuill",
+                                                       "result_file_regex": "([:.a-z_A-Z0-9\\\\/-]+[.](?:scala|java)):([0-9]+)",
+                                                       "result_line_regex": "",
+                                                       "syntax": "Packages/Text/Plain text.tmLanguage"
+                                               },
+                                               "translation.x": 0.0,
+                                               "translation.y": 8735.0,
+                                               "zoom_level": 1.0
+                                       },
+                                       "type": "text"
+                               },
+                               {
+                                       "buffer": 10,
+                                       "settings":
+                                       {
+                                               "buffer_size": 0,
+                                               "regions":
+                                               {
+                                               },
+                                               "selection":
+                                               [
+                                                       [
+                                                               0,
+                                                               0
+                                                       ]
+                                               ],
+                                               "settings":
+                                               {
+                                                       "syntax": "Packages/Text/Plain text.tmLanguage"
+                                               },
+                                               "translation.x": 0.0,
+                                               "translation.y": 0.0,
+                                               "zoom_level": 1.0
+                                       },
+                                       "type": "text"
+                               },
+                               {
+                                       "buffer": 11,
+                                       "file": "/Users/set/Desktop/arduino/LED/LED.ino",
+                                       "settings":
+                                       {
+                                               "buffer_size": 837,
+                                               "regions":
+                                               {
+                                               },
+                                               "selection":
+                                               [
+                                                       [
+                                                               0,
+                                                               0
+                                                       ]
+                                               ],
+                                               "settings":
+                                               {
+                                                       "syntax": "Packages/Text/Plain text.tmLanguage",
+                                                       "tab_size": 2,
+                                                       "translate_tabs_to_spaces": true
+                                               },
+                                               "translation.x": 0.0,
+                                               "translation.y": 0.0,
+                                               "zoom_level": 1.0
+                                       },
+                                       "type": "text"
+                               }
+                       ]
+               }
+       ],
+       "incremental_find":
+       {
+               "height": 34.0
+       },
+       "input":
+       {
+               "height": 31.0
+       },
+       "layout":
+       {
+               "cells":
+               [
+                       [
+                               0,
+                               0,
+                               1,
+                               2
+                       ],
+                       [
+                               1,
+                               0,
+                               2,
+                               1
+                       ],
+                       [
+                               1,
+                               1,
+                               2,
+                               2
+                       ]
+               ],
+               "cols":
+               [
+                       0.0,
+                       0.65,
+                       1.0
+               ],
+               "rows":
+               [
+                       0.0,
+                       0.65,
+                       1.0
+               ]
+       },
+       "menu_visible": true,
+       "output.exec":
+       {
+               "height": 206.0
+       },
+       "output.tests":
+       {
+               "height": 106.0
+       },
+       "replace":
+       {
+               "height": 0.0
+       },
+       "save_all_on_build": true,
+       "select_file":
+       {
+               "height": 0.0,
+               "selected_items":
+               [
+               ],
+               "width": 0.0
+       },
+       "select_project":
+       {
+               "height": 500.0,
+               "selected_items":
+               [
+               ],
+               "width": 380.0
+       },
+       "show_minimap": true,
+       "show_open_files": false,
+       "show_tabs": true,
+       "side_bar_visible": true,
+       "side_bar_width": 217.0,
+       "status_bar_visible": true
+}
index 2d18b1c..967dcb0 100644 (file)
--- a/build.sbt
+++ b/build.sbt
@@ -9,17 +9,18 @@ scalacOptions ++= Seq("-encoding","UTF-8")
 libraryDependencies ++= Seq(
        "org.apache.commons" % "commons-lang3" % "3.1",
        "commons-io" % "commons-io" % "2.4",
-        "commons-logging" % "commons-logging" % "1.0.4",
-        "uk.ac.ed.ph.snuggletex"%"snuggletex-core" % "1.2.2",
-        "uk.ac.ed.ph.snuggletex"%"snuggletex-upconversion"  %"1.2.2",
-        "uk.ac.ed.ph.snuggletex"%"snuggletex-jeuclid" % "1.2.2",
-        "com.tristanhunt" %% "knockoff" % "0.8.1" ,
-       "org.specs2" %% "specs2" % "1.12.3" % "test"
+  "commons-logging" % "commons-logging" % "1.0.4",
+  "uk.ac.ed.ph.snuggletex" % "snuggletex-core" % "1.2.2",
+  "uk.ac.ed.ph.snuggletex" % "snuggletex-upconversion" % "1.2.2",
+  "uk.ac.ed.ph.snuggletex" % "snuggletex-jeuclid" % "1.2.2",
+  "org.scalacheck" %% "scalacheck" % "1.10.1" % "test"
 )
 
 
 resolvers ++= Seq(
   "snapshots" at "http://oss.sonatype.org/content/repositories/snapshots",
   "releases" at "http://oss.sonatype.org/content/repositories/releases",
-  "www2.ph.ed.ac.uk-releases" at "http://www2.ph.ed.ac.uk/maven2"
+  "www2.ph.ed.ac.uk-releases" at "http://www2.ph.ed.ac.uk/maven2",
+ "Sonatype Snapshots" at "http://oss.sonatype.org/content/repositories/snapshots",
+  "Sonatype Releases" at "http://oss.sonatype.org/content/repositories/releases"
 )
index e9c9480..956e4ab 100644 (file)
@@ -1,7 +1,5 @@
 {toc:h2-h6}
-
-
-
+{nrange:2-6}
 
 aaa
 :bbb
@@ -11,8 +9,9 @@ ccc
 :ffff
 
 *[aaa]{red/yellow}
-*[bbb]{red(+1|-1)[Times,suns]}
-*[bbb]{red(1|1)[Times]}
+*[bbb]{#00FF00(+1|-1)[Times,suns]}
+*[bbb]{#FFFFFF/#000000(1|1)[Times]}
+*[~bbb~]{red(1|1)[Times]}
 <h2>aaa</h2>
 ### test1
 aaaaaaaa55555
@@ -20,4 +19,28 @@ aaaa
 ##### test3
 ## test4
 <h2>aaa</h2>
-<h2 id="foo">aaa</h2>
\ No newline at end of file
+<h2 id="foo">aaa</h2>
+
+aaaaaaa \begin{TeX}1+2 \end{TeX} bbbbbbbb
+\begin{TeX} A = \frac{\alpha + \beta}{\gamma + \delta} \end{TeX}
+aaaaaaaaaaaaa
+
+% -> 1
+% -> 2
+%% -> 2.1.
+%%% -> 2.1.1.
+%% -> 2.2.
+%%% -> 2.2.1
+%% -> 2.3.
+% -> 3.
+
+|-:b=1 solid gray w=300 rad=10------------|
+aaaaaa
+# qqqqqq
+|-:b=2 solid gray w=200 rad=10------------|
+aaaaaa
+|______|
+|-:b=3 solid gray w=200 rad=10------------|
+cccccc
+|______|
+|_________________________________________|
\ No newline at end of file
diff --git a/src/main/scala/org/blackquill/breadboard/LaTeXConverter.scala b/src/main/scala/org/blackquill/breadboard/LaTeXConverter.scala
new file mode 100644 (file)
index 0000000..1f40042
--- /dev/null
@@ -0,0 +1,22 @@
+package org.blackquill.breadboard
+
+import uk.ac.ed.ph.snuggletex._
+import org.blackquill.main._
+
+
+class Latexconverter {
+       private val texEngine:SnuggleEngine = new SnuggleEngine()
+       private val session:SnuggleSession  = texEngine.createSession()
+
+       def Convert(tex:String):String = {
+               val input:SnuggleInput = new SnuggleInput("$" + tex.replaceAll("\\\\,","\n") + "$")
+               val options = new XMLStringOutputOptions()
+               options.setSerializationMethod(SerializationMethod.XHTML)
+               options.setEncoding(BlackQuill.Switches.getEncoding)
+               options.setAddingMathSourceAnnotations(true)
+               options.setUsingNamedEntities(true)
+
+               session.parseInput(input)
+               session.buildXMLString(options)
+       }
+}
\ No newline at end of file
index 81c644a..a0b806c 100644 (file)
@@ -18,6 +18,7 @@ import scala.xml._
 
 import org.blackquill.engine._
 import org.blackquill.io.FileIO
+import org.blackquill.breadboard.Latexconverter
 
 
 class BQParser {
@@ -27,8 +28,16 @@ class BQParser {
        private var footnoteMap = new LinkedHashMap[String,Tuple2[String,String]]
        private var headerMap = List[Tuple4[Int,Int,String,String]]()
 
+       private var nRange = (-1,-1)
+       private var nStack = Stack[Tuple3[Int,Int,String]]()
+
+       private val texSignStart = """\\begin\{TeX\}"""
+       private val texSignEnd = """\\end\{TeX\}"""
+
        private val Syntax = LinkedHashMap(
-       //STRONG
+       //Early
+       """^(.*?)(%{1,6})\x20(.*?)(\\,.*?)$$""" -> ("h", autoNumberingHeader _),
+       s"""^(.*?)$texSignStart(.*?)$texSignEnd(.*?)$$""" -> ("", laTeXConvert _),
        """^(.*?)(([^(?:\\,)]+?\\,(:(.+?)\\,)+)+)(.*?)$$""" -> ("dl", wordDefinition _),
        """(.*)\\,~{3,}(?:\{(.+?)\})?(\\,.+\\,)~{3,}\\,(.*)""" -> ("code", fencedCode _),
        """^(.*?)(?:\[(.+?)\](?:\{(.+?)\})?\\,)?((\|.+?)+?\|)\\,((\|:?\-{3,}:?)+?\|)\\,(((\|.+?\|?)+?\\,)+?)\\,(.*?)$$"""
@@ -53,10 +62,179 @@ class BQParser {
        """^(.*?)(\{toc(:.+?)?\})(.*)$$""" -> ("ul",generateTOC _),
        "^(.*\\\\,)((?:\\-|\\*){3,}|(?:(?:\\-|\\*)\\x20){3,})(.*?)$$" -> ("hr",putHrTAG _),
        "^(.*?)\\*\\*(.+?)\\*\\*(.*?)$$" -> ("strong",surroundByGeneralTAG _),
-       "^(.*?)\\*(.+?)\\*(.*?)$$" -> ("em",surroundByGeneralTAG _)
-       //WEAK
+       "^(.*?)\\*(.+?)\\*(.*?)$$" -> ("em",surroundByGeneralTAG _),
+       """^(.*)\|\-:b\s*=\s*(\d+?)\s*(\w*?)\s*(#?[\w\d]+?)\sw\s*=\s*(\d+?)\srad\s*=\s*(\d+?)\-+?\|(.*?)$$""" -> ("div",fencedBox _),
+       """^(.*)\|\-:\{(.*?)\}\|(.*?)""" -> ("div",fencedBoxByClass _)
+       //late
        )
 
+       private def fencedBoxByClass(doc:String, regex:String, TAG:String):String = {
+               val p = new Regex(regex,"before","class","following")
+               val m = p findFirstMatchIn(doc)
+
+               if(m != None){
+                       val bef = m.get.group("before")
+                       val fol = m.get.group("following")
+
+                       val class = m.get.group("class")
+
+               }
+               doc
+       }
+
+       private def _searchEndMark(doc:String,regex:String,TAG:String):String = {
+               val p2 = """^(.*?)\|_{3,}\|(.*?)$$""".r
+               val m2 = p2 findFirstMatchIn(doc)
+
+               if(m2 != None){
+                       val p3 = """(.*)\|\-:.*?\\,(.*)""".r
+                       val m3 = p3 findFirstMatchIn(m2.get.group(1))
+                       if(m3 != None){
+                               return fencedBox(m2.get.group(2),regex,TAG)
+                       }else{
+                               return m2.get.group(1) + "</div>" + _searchEndMark(m2.get.group(2),regex,TAG)
+                       }
+               }//else{
+                       //log error "fenced box ERROR: not Found break Mark"
+                       //exit(-1)
+               //}
+               doc
+       }
+
+       private def fencedBox(doc:String, regex:String, TAG:String):String = {
+
+               val p = new Regex(regex,"before","border","style","color","width","rad","following")
+               val m = p findFirstMatchIn(doc)
+
+               if(m != None){
+                       val bef = m.get.group("before")
+                       val fol = m.get.group("following")
+
+                       val borderW = if(m.get.group("border") != None){
+                               m.get.group("border") + "px "
+                       }else{"1"}
+                       val borderStyle = if(m.get.group("style") != None){
+                               m.get.group("style")
+                       }else{"solid"}
+                       val borderColor = if(m.get.group("color") != None){
+                               " " + m.get.group("color")
+                       }else{"black"}
+                       val boxW = if(m.get.group("width") != None){
+                               m.get.group("width") + "px"
+                       }else{
+                               log error "FENCED BOX WIDTH is not set."
+                               exit(-1)
+                       }
+                       val boxRad = if(m.get.group("rad") != None){
+                               m.get.group("rad") + "px"
+                       }else{"10px"}
+
+                       val div =
+                       s"""<$TAG style="border:$borderW$borderStyle$borderColor; width:$boxW;""" +
+                       s"""border-radius:$boxRad;"> """
+
+                       return fencedBox(bef,regex,TAG) + div + _searchEndMark(fol,regex,TAG)
+               }
+               doc
+       }
+
+       private def autoNumberingHeader(doc:String, regex:String, TAG:String):String = {
+               def _popTheWastes(i:Int):Stack[Tuple3[Int,Int,String]] = {
+                       if(nStack.top._1 > i){
+                               nStack.pop
+                       }else if(nStack.top._1 == i){
+                               val top = nStack.pop
+                               nStack.push(Tuple3[Int,Int,String](top._1,top._2 + 1,"." + top._3))
+                               return nStack
+                       }
+                       return _popTheWastes(i)
+               }
+
+               val p = new Regex(regex,"before","hSize","inTAG","following")
+               val m = p findFirstMatchIn(doc)
+
+               if(m != None){
+                       val bef = m.get.group("before")
+                       val fol = m.get.group("following")
+                       val inTAG = m.get.group("inTAG")
+
+                       val sizeCheck = if(nRange._1 != -1){nRange._1 + m.get.group("hSize").size}else{0}
+                       val headSize = if(sizeCheck != 0 && sizeCheck - 1 < nRange._2){sizeCheck - 1}else{
+                               log error "Auto Numbering header FATAL Error. % anotation overflowed. Check nrange value and % sequences again. You can use sequence % - " + "%" * (nRange._2 - nRange._1)
+                               log info nRange
+                               exit(-1)
+                       }
+
+                       if(nStack.isEmpty){
+                               if(nRange._1 != -1 && nRange._2 != -1){
+                                       nStack.push(Tuple3[Int,Int,String](headSize,1,"." + inTAG))
+                               }else{
+                                       log error "Auto numbering header Error. {nrange..} notation is not set, but found % anotation. You can use sequence % - " + "%" * (nRange._2 - nRange._1)
+                                       exit(-1)
+                               }
+                       }else if(nStack.top._1 < headSize){
+                               nStack.push(Tuple3[Int,Int,String](headSize,1,"." + inTAG))
+                       }else if(nStack.top._1 > headSize){
+                               nStack = _popTheWastes(headSize)
+                       }else if(nStack.top._1 == headSize){
+                               val top = nStack.pop
+                               nStack.push(Tuple3[Int,Int,String](top._1,top._2 + 1,top._3))
+                       }
+
+                       val hSize = nStack.top._1
+                       var number = ""
+                       for(e <- nStack.toList.reverse){number += e._2 + "."}
+                       return autoNumberingHeader(bef,regex,TAG) + s"""<$TAG$hSize>$number $inTAG</$TAG$hSize>""" +
+                       autoNumberingHeader(fol,regex,TAG)
+               }
+               doc
+       }
+
+       private def autoNumberSetting(doc:String):String = {
+               val p = """^(.*?)(\{nrange(:h?\d?\-h?\d?)?\})(.*?)$$""".r
+               val m = p findFirstMatchIn(doc)
+
+               if(m != None){
+                       lazy val ret = m.get.group(1) + m.get.group(4)
+
+                       if(Option(m.get.group(3)) != None){
+                               val p2 = """:(h?(\d)?\-h?(\d)?)""".r
+                               val m2 = p2 findFirstMatchIn(m.get.group(3))
+
+                               if(m2 != None){
+                                       val start = if(Option(m2.get.group(2)) != None){
+                                               m2.get.group(2).toInt
+                                       }else{1}
+                                       val end = if(Option(m2.get.group(3)) != None){
+                                               m2.get.group(3).toInt
+                                       }else{6}
+                                       nRange = (start,end)
+                                       ret
+                               }else{
+                                       return ret
+                               }
+                       }
+               }
+               doc
+       }
+
+       private def laTeXConvert(doc:String, regex:String, TAG:String):String = {
+               if(doc == ""){return ""}
+               val p = new Regex(regex, "before","tex","following")
+               val m = p findFirstMatchIn(doc)
+
+               if(m != None){
+                       val bef = m.get.group("before")
+                       val fol = m.get.group("following")
+                       val conv = new Latexconverter
+
+                       return laTeXConvert(bef,regex,TAG) +
+                       conv.Convert(m.get.group("tex")) +
+                       laTeXConvert(fol,regex,TAG)
+               }
+               doc
+       }
+
        private def colorPen(doc:String, regex:String, TAG:String):String = {
                lazy val fontSize = Map[Int,String](0 -> "medium", 1 -> "larger", 2 -> "large", 3 -> "x-large", 4 -> "xx-large",
                                                                                                                  -1 -> "smaller", -2 -> "small", -3 -> "x-small", -4 -> "xx-small")
@@ -70,7 +248,15 @@ class BQParser {
                        val fol = m.get.group("following")
 
                        if(Option(m.get.group("content")) != None){
-                               val content = m.get.group("content")
+                               var content = m.get.group("content")
+                               val textDec = if(content.head == content.last){
+                                         content.head match{
+                                           case '~' => content = content.tail.init;" text-decoration:overline;"
+                                           case '-' => content = content.tail.init;" text-decoration:line-through;"
+                                           case '_' => content = content.tail.init;" text-decoration:underline;"
+                                           case _ =>
+                                         }
+                                       }else{""}
                                val fgColor = if(Option(m.get.group("fcolor")) != None){" color:" + m.get.group("fcolor") + ";"}else{""}
                                val bgColor = if(Option(m.get.group("bcolor")) != None){" background-color:" + m.get.group("bcolor").tail + ";"}else{""}
 
@@ -94,7 +280,7 @@ class BQParser {
                                        }else{""}
 
                                return colorPen(bef, regex, TAG) +
-                                               s"""<span style="$fgColor$bgColor$fSize$fWeight$fFace">$content</span> """ +
+                                               s"""<span style="$fgColor$bgColor$fSize$fWeight$fFace$textDec">$content</span> """ +
                                                colorPen(fol, regex, TAG)
                        }else{
                                return colorPen(bef, regex, TAG) + colorPen(fol, regex, TAG)
@@ -104,7 +290,7 @@ class BQParser {
        }
 
        private def generateTOC(doc:String, regex:String, TAG:String):String = {
-               log debug doc
+               log info doc
 
                def _checkRange(start:Option[String],end:Option[String],default:Tuple2[Int,Int]):Tuple2[Int,Int] = {
                        val s = if(start != None && start.get.toInt >= default._1){start.get.toInt}else{default._1}
@@ -980,7 +1166,7 @@ class BQParser {
                                  surroundByHeadTAG(fol,regex,TAG)
                }
          doc
-       }
+}
 
        private def surroundByGeneralTAG(doc:String, regex:String, TAG:String):String = {
          if(doc == ""||Option(doc) == None){return ""}
@@ -1014,6 +1200,7 @@ class BQParser {
        def preProcessors(doc:String) :String = {
         var text = urlDefinitions(doc)
         text = gatheringFootnotesDefinition(text)
+        text = autoNumberSetting(text)
         text
        }
 
@@ -1029,8 +1216,8 @@ class BQParser {
 
                md = backslashEscape(md)
                md = paragraphize(md)
-               log info urlDefMap
-               log info footnoteMap
+               log debug urlDefMap
+               log debug footnoteMap
                md += insertFootnoteDefinitions(footnoteMap)
                val header = constructHEADER(markdown)
                s"${docType}\n${header}\n<${htmlTAG}>\n<${bodyTAG}>\n${md.replaceAll("\\\\,","\n")}\n</${bodyTAG}>\n</${htmlTAG}>"
index cec3126..14875c1 100644 (file)
@@ -15,11 +15,11 @@ object BlackQuill{
   private val log:Log = LogFactory.getLog(BlackQuill.getClass)
 
   val VERSION = "0.1.0"
-  val lastDate = "May 14 2013"
+  val lastDate = "july 25 2013"
 
-  val wiki = "https://github.com/setminami/BlackQuill/wiki/"
-  val syntax = "BlackQuill-Details-of-Syntax"
-  val philosophy = "BlackQuill-Philosophy"
+  val wiki = "https://www.setminami.net/BlackQuill/"
+  val syntax = "index.html#Syntax"
+  val philosophy = "index.html#Philosophy"
 
   val options =
     "--force|-f : Force conversion. BQ ignore timestamps of markdown files.\n" +
diff --git a/src/test/scala/org/blackquill/test/MarkdownSpecification$$anonfun$1.class b/src/test/scala/org/blackquill/test/MarkdownSpecification$$anonfun$1.class
new file mode 100644 (file)
index 0000000..18b663d
Binary files /dev/null and b/src/test/scala/org/blackquill/test/MarkdownSpecification$$anonfun$1.class differ
diff --git a/src/test/scala/org/blackquill/test/MarkdownSpecification$$anonfun$2.class b/src/test/scala/org/blackquill/test/MarkdownSpecification$$anonfun$2.class
new file mode 100644 (file)
index 0000000..7d8ea91
Binary files /dev/null and b/src/test/scala/org/blackquill/test/MarkdownSpecification$$anonfun$2.class differ
diff --git a/src/test/scala/org/blackquill/test/MarkdownSpecification$$anonfun$3.class b/src/test/scala/org/blackquill/test/MarkdownSpecification$$anonfun$3.class
new file mode 100644 (file)
index 0000000..a57e9ac
Binary files /dev/null and b/src/test/scala/org/blackquill/test/MarkdownSpecification$$anonfun$3.class differ
diff --git a/src/test/scala/org/blackquill/test/MarkdownSpecification$$anonfun$4.class b/src/test/scala/org/blackquill/test/MarkdownSpecification$$anonfun$4.class
new file mode 100644 (file)
index 0000000..19aa59e
Binary files /dev/null and b/src/test/scala/org/blackquill/test/MarkdownSpecification$$anonfun$4.class differ
diff --git a/src/test/scala/org/blackquill/test/MarkdownSpecification$.class b/src/test/scala/org/blackquill/test/MarkdownSpecification$.class
new file mode 100644 (file)
index 0000000..f46b92c
Binary files /dev/null and b/src/test/scala/org/blackquill/test/MarkdownSpecification$.class differ
diff --git a/src/test/scala/org/blackquill/test/MarkdownSpecification.class b/src/test/scala/org/blackquill/test/MarkdownSpecification.class
new file mode 100644 (file)
index 0000000..ee9cbf2
Binary files /dev/null and b/src/test/scala/org/blackquill/test/MarkdownSpecification.class differ