diff options
| author | bjculkin <bjculkin@mix.wvu.edu> | 2018-03-01 14:52:35 -0500 |
|---|---|---|
| committer | bjculkin <bjculkin@mix.wvu.edu> | 2018-03-01 14:52:35 -0500 |
| commit | c6fa9c56ee7d339f4b7d49e528bde1b15039e359 (patch) | |
| tree | 69ad0e08c9019ce37aa9beabe8e0975cb9c4d12e /base/src/main/java/bjc/utils | |
| parent | 0b373102f64fd7bfd25837a24ffb4ccb44b9d7e9 (diff) | |
Fix some CL format issues
Diffstat (limited to 'base/src/main/java/bjc/utils')
8 files changed, 21 insertions, 14 deletions
diff --git a/base/src/main/java/bjc/utils/ioutils/format/CLFormatter.java b/base/src/main/java/bjc/utils/ioutils/format/CLFormatter.java index f3d1777..8172011 100644 --- a/base/src/main/java/bjc/utils/ioutils/format/CLFormatter.java +++ b/base/src/main/java/bjc/utils/ioutils/format/CLFormatter.java @@ -136,7 +136,12 @@ public class CLFormatter { String dirMods = dirMatcher.group("modifiers"); String dirParams = dirMatcher.group("params"); - CLParameters arrParams = CLParameters.fromDirective(dirParams.split("(?<!'),"), tParams); + if(dirMods == null) dirMods = ""; + if(dirParams == null) dirParams = ""; + + String[] splitPars = dirParams.split("(?<!'),"); + CLParameters arrParams = CLParameters.fromDirective(splitPars, tParams); + CLModifiers mods = CLModifiers.fromString(dirMods); Object item = tParams.item(); diff --git a/base/src/main/java/bjc/utils/ioutils/format/directives/AestheticDirective.java b/base/src/main/java/bjc/utils/ioutils/format/directives/AestheticDirective.java index cbba104..6c84770 100644 --- a/base/src/main/java/bjc/utils/ioutils/format/directives/AestheticDirective.java +++ b/base/src/main/java/bjc/utils/ioutils/format/directives/AestheticDirective.java @@ -17,7 +17,7 @@ public class AestheticDirective implements Directive { int mincol = 0, colinc = 1, minpad = 0; char padchar = ' '; - if(params.length() > 1) { + if(params.length() >= 1) { mincol = params.getIntDefault(0, "minimum column count", 'A', 0); } diff --git a/base/src/main/java/bjc/utils/ioutils/format/directives/ConditionalDirective.java b/base/src/main/java/bjc/utils/ioutils/format/directives/ConditionalDirective.java index 98c62cb..6ee512f 100644 --- a/base/src/main/java/bjc/utils/ioutils/format/directives/ConditionalDirective.java +++ b/base/src/main/java/bjc/utils/ioutils/format/directives/ConditionalDirective.java @@ -95,7 +95,7 @@ public class ConditionalDirective implements Directive { } } else { int res; - if(arrParams.length() > 1) { + if(arrParams.length() >= 1) { res = arrParams.getInt(0, "conditional choice", '['); } else { if(par == null) { diff --git a/base/src/main/java/bjc/utils/ioutils/format/directives/FreshlineDirective.java b/base/src/main/java/bjc/utils/ioutils/format/directives/FreshlineDirective.java index e394a8d..8a0457a 100644 --- a/base/src/main/java/bjc/utils/ioutils/format/directives/FreshlineDirective.java +++ b/base/src/main/java/bjc/utils/ioutils/format/directives/FreshlineDirective.java @@ -14,7 +14,7 @@ public class FreshlineDirective implements Directive { Matcher dirMatcher, CLFormatter fmt) { int nTimes = 1; - if(params.length() > 1) { + if(params.length() >= 1) { nTimes = params.getInt(0, "occurance count", '&'); } diff --git a/base/src/main/java/bjc/utils/ioutils/format/directives/GeneralNumberDirective.java b/base/src/main/java/bjc/utils/ioutils/format/directives/GeneralNumberDirective.java index 34abcab..3c825ff 100644 --- a/base/src/main/java/bjc/utils/ioutils/format/directives/GeneralNumberDirective.java +++ b/base/src/main/java/bjc/utils/ioutils/format/directives/GeneralNumberDirective.java @@ -13,10 +13,10 @@ public abstract class GeneralNumberDirective implements Directive { */ int mincol = 0; char padchar = ' '; - if(params.length() > (argidx + 2)) { + if(params.length() >= (argidx + 2)) { mincol = params.getIntDefault(argidx + 1, "minimum column count", 'R', 0); } - if(params.length() > (argidx + 3)) { + if(params.length() >= (argidx + 3)) { padchar = params.getCharDefault(argidx + 2, "padding character", 'R', ' '); } @@ -29,10 +29,10 @@ public abstract class GeneralNumberDirective implements Directive { */ int commaInterval = 0; char commaChar = ','; - if(params.length() > (argidx + 3)) { + if(params.length() >= (argidx + 3)) { commaChar = params.getCharDefault((argidx + 3), "comma character", 'R', ' '); } - if(params.length() > (argidx + 4)) { + if(params.length() >= (argidx + 4)) { commaInterval = params.getIntDefault((argidx + 4), "comma interval", 'R', 0); } diff --git a/base/src/main/java/bjc/utils/ioutils/format/directives/GotoDirective.java b/base/src/main/java/bjc/utils/ioutils/format/directives/GotoDirective.java index f3da9bb..4dd24c3 100644 --- a/base/src/main/java/bjc/utils/ioutils/format/directives/GotoDirective.java +++ b/base/src/main/java/bjc/utils/ioutils/format/directives/GotoDirective.java @@ -14,14 +14,14 @@ public class GotoDirective implements Directive { Tape<Object> formatParams, Matcher dirMatcher, CLFormatter fmt) { if(mods.colonMod) { int num = 1; - if(params.length() > 1) { + if(params.length() >= 1) { num = params.getIntDefault(0, "number of arguments backward", '*', 1); } formatParams.left(num); } else if(mods.atMod) { int num = 0; - if(params.length() > 1) { + if(params.length() >= 1) { num = params.getIntDefault(0, "argument index", '*', 0); } @@ -29,7 +29,7 @@ public class GotoDirective implements Directive { formatParams.right(num); } else { int num = 1; - if(params.length() > 1) { + if(params.length() >= 1) { num = params.getIntDefault(0, "number of arguments forward", '*', 1); } diff --git a/base/src/main/java/bjc/utils/ioutils/format/directives/LiteralDirective.java b/base/src/main/java/bjc/utils/ioutils/format/directives/LiteralDirective.java index ba00520..ea04781 100644 --- a/base/src/main/java/bjc/utils/ioutils/format/directives/LiteralDirective.java +++ b/base/src/main/java/bjc/utils/ioutils/format/directives/LiteralDirective.java @@ -22,7 +22,7 @@ public class LiteralDirective implements Directive { Matcher dirMatcher, CLFormatter fmt) { int nTimes = 1; - if(params.length() > 1) { + if(params.length() >= 1) { nTimes = params.getInt(0, "occurance count", directive); } diff --git a/base/src/main/java/bjc/utils/math/NumberUtils.java b/base/src/main/java/bjc/utils/math/NumberUtils.java index 53d6017..53446ac 100644 --- a/base/src/main/java/bjc/utils/math/NumberUtils.java +++ b/base/src/main/java/bjc/utils/math/NumberUtils.java @@ -427,13 +427,15 @@ public class NumberUtils { work.reverse(); /* @TODO Should we have some way to specify how to pad? */ + StringBuilder pad = new StringBuilder(); + if(work.length() < mincols) { for(int i = work.length(); i < mincols; i++) { - work.append(padchar); + pad.append(padchar); } } - return work.toString(); + return pad.toString() + work.toString(); } /** |
