Proper handling fo multiline links. Better list handling.
[sixth.git] / src / main / java / eu / svjatoslav / sixth / core / document / text / FormattedText.java
index 1b51320..ad7d8ca 100644 (file)
@@ -1,5 +1,6 @@
 package eu.svjatoslav.sixth.core.document.text;
 
+import eu.svjatoslav.commons.string.String2;
 import eu.svjatoslav.commons.string.tokenizer.Tokenizer;
 import eu.svjatoslav.commons.string.tokenizer.TokenizerMatch;
 
@@ -28,19 +29,34 @@ public class FormattedText {
 
     }
 
-
     public static FormattedText fromOrg(String orgText){
         FormattedText formattedText = new FormattedText();
         formattedText.parseOrgSyntax(orgText);
         return formattedText;
     }
 
-    public String toMD(){
+    public String toMD(int indent){
         StringBuilder sb = new StringBuilder();
 
         for (FormattedTextElement element : elements)
             sb.append(element.toMD());
 
+        return ensureIndent(sb.toString(), indent);
+    }
+
+    public static String ensureIndent(String input, int indent) {
+        String[] lines = input.split("\\r?\\n");
+
+        StringBuilder sb = new StringBuilder();
+
+        sb.append(lines[0]);
+
+        for (int i = 1; i< lines.length; i++) {
+            sb.append("\n");
+            sb.append(new String2(" ").repeat(indent).toString());
+            sb.append(lines[i]);
+        }
+
         return sb.toString();
     }