X-Git-Url: http://git.nikiroo.be/?a=blobdiff_plain;f=src%2Fbe%2Fnikiroo%2Futils%2Fmain%2Fjustify.java;h=2a83389ea047f75838ce7c46b5e288aedb0f7d1c;hb=dc22eb95c9b74c41e229f48e021a8a0c85992f35;hp=32cfb103a8d1deea21df9d2e15aaa646a966f3b5;hpb=67e9a06e496d2c11432e4356c71e0af5a9204b16;p=nikiroo-utils.git diff --git a/src/be/nikiroo/utils/main/justify.java b/src/be/nikiroo/utils/main/justify.java index 32cfb10..2a83389 100644 --- a/src/be/nikiroo/utils/main/justify.java +++ b/src/be/nikiroo/utils/main/justify.java @@ -35,62 +35,19 @@ public class justify { width = Integer.parseInt(args[1]); } - // TODO: move to utils? - List lines = new ArrayList(); Scanner scan = new Scanner(System.in); scan.useDelimiter("\r\n|[\r\n]"); try { - StringBuilder previous = null; - StringBuilder tmp = new StringBuilder(); + List lines = new ArrayList(); while (scan.hasNext()) { - String current = scan.next(); - tmp.setLength(0); - for (String word : current.split(" ")) { - if (word.isEmpty()) { - continue; - } - - if (tmp.length() > 0) { - tmp.append(' '); - } - tmp.append(word.trim()); - } - current = tmp.toString(); - - if (previous == null) { - previous = new StringBuilder(); - } else { - if (current.isEmpty() || isFullLine(previous)) { - lines.add(previous.toString()); - previous.setLength(0); - } else { - previous.append(' '); - } - } - - previous.append(current); + lines.add(scan.next()); } - if (previous != null) { - lines.add(previous.toString()); + for (String line : StringUtils.justifyText(lines, width, align)) { + System.out.println(line); } } finally { scan.close(); } - - // TODO: supports bullet lines "- xxx" and sub levels - for (String line : lines) { - for (String subline : StringUtils.justifyText(line, width, align)) { - System.out.println(subline); - } - } - } - - static private boolean isFullLine(StringBuilder line) { - return line.length() == 0 // - || line.charAt(line.length() - 1) == '.' - || line.charAt(line.length() - 1) == '"' - || line.charAt(line.length() - 1) == '»' - ; } }