X-Git-Url: http://www2.svjatoslav.eu/gitweb/?p=sixth.git;a=blobdiff_plain;f=src%2Fmain%2Fjava%2Feu%2Fsvjatoslav%2Fsixth%2Fcore%2Fdocument%2FDocument.java;fp=src%2Fmain%2Fjava%2Feu%2Fsvjatoslav%2Fsixth%2Fcore%2Fdocument%2FDocument.java;h=e4c45bdbcca645e80ad3d38cceb2bfae3d82f6e1;hp=1f7ef2681b77cdf35d32adfdb69d22fb42ce177d;hb=1f96525468e7f76c1ce817a8a7b22c93a39e40b4;hpb=9522b4873da0b7872cf033c0762a58a73c1ba517 diff --git a/src/main/java/eu/svjatoslav/sixth/core/document/Document.java b/src/main/java/eu/svjatoslav/sixth/core/document/Document.java index 1f7ef26..e4c45bd 100644 --- a/src/main/java/eu/svjatoslav/sixth/core/document/Document.java +++ b/src/main/java/eu/svjatoslav/sixth/core/document/Document.java @@ -58,14 +58,43 @@ public class Document { // " * my list title" tokenizer.addTerminator(PRESERVE, "([ \\t]+)(\\*)[ \\t]+(.*)?\\r?\\n", TG_LIST); + // TODO: add numbered list + // DocumentProperty: // "#+OPTIONS: H:20 num:20" - tokenizer.addTerminator(PRESERVE, "#\\+.+:.*\\r?\\n", TG_DOCUMENT_PROPERTY); + tokenizer.addTerminator(PRESERVE, "#\\+[^\\s]+:.*\\r?\\n", TG_DOCUMENT_PROPERTY); - // newline - tokenizer.addTerminator(PRESERVE,".*\\r?\\n", TG_NORMAL_TEXT); + // Drawer property: + // " :ID: 533734b9-0456-4448-9830-a43646345615" + tokenizer.addTerminator(PRESERVE, "([ \\t]*):([^\\s]+):(.*)\\r?\\n", TG_DRAWER_PROPERTY); + + + // multiline code block + tokenizer.addTerminator(PRESERVE, + "([ \\t]*)#\\+BEGIN_SRC" + // source begin identifier + "(([ \\t]+)(.*))?(\\r?\\n)" + // source block parameters + "((?:.|\\n|\\r)*?)" + // source content + "(\\r?\\n)([ \\t]*)#\\+END_SRC(.*)\\r?\\n" // source end identifier + , TG_MULTILINE_CODE); + + // verse + tokenizer.addTerminator(PRESERVE, + "([ \\t]*)#\\+BEGIN_VERSE" + // verse begin identifier + "(([ \\t]+)(.*))?(\\r?\\n)" + // verse block parameters + "((?:.|\\n|\\r)*?)" + // verse + "(\\r?\\n)([ \\t]*)#\\+END_VERSE(.*)\\r?\\n" // verse end identifier + , TG_VERSE); + // TODO: add support for export blocks: + // #+begin_export latex + // \clearpage + //#+end_export + + + // normal text + tokenizer.addTerminator(PRESERVE,".*\\r?\\n", TG_NORMAL_TEXT); + while (tokenizer.hasMoreContent()) { final TokenizerMatch tm = tokenizer.getNextToken();