From 49cd96c4c5bbb883c0c5c10d7916ad2e93ff2df0 Mon Sep 17 00:00:00 2001 From: bjculkin Date: Sat, 10 Feb 2018 00:00:07 -0500 Subject: Update and refactor CL formatting --- .../bjc/utils/ioutils/format/LiteralDirective.java | 33 ++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 base/src/main/java/bjc/utils/ioutils/format/LiteralDirective.java (limited to 'base/src/main/java/bjc/utils/ioutils/format/LiteralDirective.java') diff --git a/base/src/main/java/bjc/utils/ioutils/format/LiteralDirective.java b/base/src/main/java/bjc/utils/ioutils/format/LiteralDirective.java new file mode 100644 index 0000000..77d26cc --- /dev/null +++ b/base/src/main/java/bjc/utils/ioutils/format/LiteralDirective.java @@ -0,0 +1,33 @@ +package bjc.utils.ioutils.format; + +import bjc.utils.esodata.Tape; + +import java.util.regex.Matcher; + +class LiteralDirective implements Directive { + + private char directive; + private String lit; + + public LiteralDirective(String lit, char directive) { + this.directive = directive; + this.lit = lit; + } + + + @Override + public void format(StringBuffer buff, Object item, CLModifiers mods, CLParameters params, Tape tParams, + Matcher dirMatcher, CLFormatter fmt) { + int nTimes = 1; + + if(params.length() > 1) { + nTimes = params.getInt(0, "occurance count", directive); + } + + for(int i = 0; i < nTimes; i++) { + buff.append(lit); + } + + } + +} -- cgit v1.2.3