package eu.svjatoslav.sixth.core.document.content;
import eu.svjatoslav.commons.string.String2;
+import eu.svjatoslav.commons.string.tokenizer.Tokenizer;
+
+import static eu.svjatoslav.commons.string.tokenizer.Terminator.TerminationStrategy.DROP;
public class MultilineCode implements Content {
public final String language;
public final String code;
- public MultilineCode(String language, String code) {
- this.language = language;
+ public MultilineCode(String languageAndParams, String code) {
+
+ final Tokenizer tokenizer = new Tokenizer(languageAndParams);
+ tokenizer.addTerminator(DROP, "[ \\t]+", "whitespace");
+ if (tokenizer.hasMoreContent()){
+ language = tokenizer.getNextToken().token;
+ } else {
+ language = null;
+ }
+
this.code = code;
}
}
public String getMDlanguage(){
- // TODO: do not append ORG parameters to language, like: file: ....
if (language == null) return "";
return language;
}