X-Git-Url: http://www2.svjatoslav.eu/gitweb/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Feu%2Fsvjatoslav%2Fsixth%2Fcore%2Fdocument%2Ftext%2FFormattedText.java;h=44af05c85c8af68927b8d561d308c40d48934135;hb=9522b4873da0b7872cf033c0762a58a73c1ba517;hp=1b51320715c3faafbaaed006c61f076e6fac1285;hpb=e8052e0b1948260c3701bfe80dfaa8fdf5c38053;p=sixth.git diff --git a/src/main/java/eu/svjatoslav/sixth/core/document/text/FormattedText.java b/src/main/java/eu/svjatoslav/sixth/core/document/text/FormattedText.java index 1b51320..44af05c 100644 --- a/src/main/java/eu/svjatoslav/sixth/core/document/text/FormattedText.java +++ b/src/main/java/eu/svjatoslav/sixth/core/document/text/FormattedText.java @@ -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(); } @@ -51,4 +67,8 @@ public class FormattedText { return tokenizer; } + + public String toString(){ + return toMD(0); + } }