blob: ab453cddb1550b3e7341e4f3387f9703ad095fb7 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
package org.zwobble.mammoth.styles.parsing;
import org.parboiled.support.Var;
import org.zwobble.mammoth.styles.StyleMap;
import org.zwobble.mammoth.styles.StyleMapBuilder;
import java.util.List;
import static java.util.Arrays.asList;
public class StyleMapParser {
public static StyleMap parse(String input) {
return parse(asList(input.split("\\r?\\n")));
}
public static StyleMap parse(List<String> lines) {
Var<StyleMapBuilder> styleMap = new Var<>(StyleMap.builder());
for (String line : lines) {
handleLine(styleMap, line);
}
return styleMap.get().build();
}
private static void handleLine(Var<StyleMapBuilder> styleMap, String line) {
if (line.startsWith("#")) {
return;
}
line = line.trim();
if (line.isEmpty()) {
return;
}
Parsing.parse(StyleMappingParser.class, parser -> parser.StyleMapping(styleMap), line);
}
}
|