summaryrefslogtreecommitdiff
path: root/clformat/src/main/java/bjc/utils/ioutils
diff options
context:
space:
mode:
Diffstat (limited to 'clformat/src/main/java/bjc/utils/ioutils')
-rw-r--r--clformat/src/main/java/bjc/utils/ioutils/format/CLFormatter.java12
-rw-r--r--clformat/src/main/java/bjc/utils/ioutils/format/CLString.java8
2 files changed, 17 insertions, 3 deletions
diff --git a/clformat/src/main/java/bjc/utils/ioutils/format/CLFormatter.java b/clformat/src/main/java/bjc/utils/ioutils/format/CLFormatter.java
index 86ffd54..3599d9e 100644
--- a/clformat/src/main/java/bjc/utils/ioutils/format/CLFormatter.java
+++ b/clformat/src/main/java/bjc/utils/ioutils/format/CLFormatter.java
@@ -371,7 +371,15 @@ public class CLFormatter {
}
}
- public void compile(Iterator<Decree> cltok) {
+ public CLString compile(String inp) {
+ CLTokenizer tokenzer = new CLTokenizer(inp);
+
+ List<Edict> edts = compile(tokenzer);
+
+ return new CLString(edts);
+ }
+
+ public List<Edict> compile(Iterator<Decree> cltok) {
List<Edict> result = new ArrayList<>();
while (cltok.hasNext()) {
@@ -458,5 +466,7 @@ public class CLFormatter {
throw new IllegalArgumentException(msg);
}
}
+
+ return result;
}
}
diff --git a/clformat/src/main/java/bjc/utils/ioutils/format/CLString.java b/clformat/src/main/java/bjc/utils/ioutils/format/CLString.java
index 74e4960..7b533d0 100644
--- a/clformat/src/main/java/bjc/utils/ioutils/format/CLString.java
+++ b/clformat/src/main/java/bjc/utils/ioutils/format/CLString.java
@@ -33,8 +33,12 @@ public class CLString {
FormatContext formCTX = new FormatContext(rw, itms);
- for (Edict edt : edicts) {
- edt.format(formCTX);
+ try {
+ for (Edict edt : edicts) {
+ edt.format(formCTX);
+ }
+ } catch (EscapeException eex) {
+ // General escape exception, so stop formatting.
}
return rw.toString();