summaryrefslogtreecommitdiff
path: root/clformat
diff options
context:
space:
mode:
authorBenjamin J. Culkin <bjculkin@mix.wvu.edu>2021-07-12 15:58:34 -0300
committerBenjamin J. Culkin <bjculkin@mix.wvu.edu>2021-07-12 15:58:34 -0300
commita732ae9404c0b7ba446d40bffb246ec43aad603c (patch)
tree931a49908e951471e751e352c8baa3142019bb6b /clformat
parenta24c1042499f76ff2d442ae133ef165011a7af4c (diff)
parentaba8e262d0e89ebef4229ad807b67660fc9bef35 (diff)
Merge & Update
Diffstat (limited to 'clformat')
-rw-r--r--clformat/example-format-strings.sprop6
-rw-r--r--clformat/src/example/java/bjc/utils/ioutils/format/examples/CLFormatCLI.java40
-rw-r--r--clformat/src/main/java/bjc/utils/ioutils/format/directives/AestheticDirective.java13
-rw-r--r--clformat/src/main/java/bjc/utils/ioutils/format/directives/DecimalDirective.java2
4 files changed, 46 insertions, 15 deletions
diff --git a/clformat/example-format-strings.sprop b/clformat/example-format-strings.sprop
new file mode 100644
index 0000000..6de136a
--- /dev/null
+++ b/clformat/example-format-strings.sprop
@@ -0,0 +1,6 @@
+# Dump hexadecimal output in some manner
+dumpHexOutput ~:{~8,'0X: ~2{~8@{~# ~:;~2,'0X ~]~} ~}~v@{ ~}~2{~8@{~A~} ~}~%~}
+# Print a list in proper English style (no Oxford comma)
+englishList ~#[ none~; ~A~; ~A and ~A:;~@{~#*[ ~A,~; and ~A~; ~A~]~}~]
+# An alternate variant which abbreviates long lists
+abbrevList ~#[NONE~;~a~;~a and ~a~:;~a, ~a~]~#[~; and ~a~:;, ~a, etc~]
diff --git a/clformat/src/example/java/bjc/utils/ioutils/format/examples/CLFormatCLI.java b/clformat/src/example/java/bjc/utils/ioutils/format/examples/CLFormatCLI.java
new file mode 100644
index 0000000..71e6b92
--- /dev/null
+++ b/clformat/src/example/java/bjc/utils/ioutils/format/examples/CLFormatCLI.java
@@ -0,0 +1,40 @@
+package bjc.utils.ioutils.format.examples;
+
+import java.io.*;
+import java.util.*;
+
+public class CLFormatCLI {
+ public static void main(String[] args) {
+ Scanner scn = new Scanner(System.in);
+ PrintStream output = System.out;
+
+ runCLI(scn, output);
+ }
+
+ private static void runCLI(Scanner input, PrintStream output) {
+ output.println("CLFormat CLI v0.1");
+ output.println("Enter a command (m for help)");
+
+ String inp = input.nextLine().trim();
+
+ boolean verboseErrors = false;
+
+ while (!inp.equals("q")) {
+ String[] args = inp.split("\\S+");
+
+ String command = args[0];
+ switch(command) {
+ default:
+ if (verboseErrors) {
+ output.printf("! Error: %s is not a recognizable command\n", inp);
+ } else {
+ output.println("! UC");
+ }
+ }
+
+ output.println("Enter a command (m for help)");
+
+ String inp = input.nextLine().trim();
+ }
+ }
+}
diff --git a/clformat/src/main/java/bjc/utils/ioutils/format/directives/AestheticDirective.java b/clformat/src/main/java/bjc/utils/ioutils/format/directives/AestheticDirective.java
index 3dfb45b..0589992 100644
--- a/clformat/src/main/java/bjc/utils/ioutils/format/directives/AestheticDirective.java
+++ b/clformat/src/main/java/bjc/utils/ioutils/format/directives/AestheticDirective.java
@@ -93,12 +93,8 @@ class AestheticEdict implements Edict {
int minpad = minpadPar.asInt(itemTape,
"minumum amount of padding", "A", 0);
- // if (padBefore) doPadding(work, padchar, mincol, colinc, minpad);
-
work.append(itemString);
- // if (!padBefore) doPadding(work, padchar, mincol, colinc, minpad);
-
String padding = createPadding(work, padchar, mincol, colinc, minpad);
if (padBefore) work.insert(0, padding);
else work.append(padding);
@@ -126,13 +122,4 @@ class AestheticEdict implements Edict {
return padding.toString();
}
-
- private void doPadding(StringBuilder work, char padchar, int mincol, int colinc,
- int minpad) {
- for (int i = 0; i < minpad; i++) work.append(padchar);
-
- for (int i = work.length(); i < mincol; i++) {
- for (int k = 0; k < colinc; k++) work.append(padchar);
- }
- }
}
diff --git a/clformat/src/main/java/bjc/utils/ioutils/format/directives/DecimalDirective.java b/clformat/src/main/java/bjc/utils/ioutils/format/directives/DecimalDirective.java
index 0d1d0df..6447eef 100644
--- a/clformat/src/main/java/bjc/utils/ioutils/format/directives/DecimalDirective.java
+++ b/clformat/src/main/java/bjc/utils/ioutils/format/directives/DecimalDirective.java
@@ -48,8 +48,6 @@ public class DecimalDirective implements Directive {
}
class DecimalEdict implements Edict {
- private static final FieldPosition ZERO_FIELD = new FieldPosition(0);
-
private CLValue decFormat;
public DecimalEdict(CLValue decForm) {