Skip to content

Commit 64d1702

Browse files
committed
Allow caller to specify lineTerminator.
1 parent 02549ab commit 64d1702

File tree

2 files changed

+8
-7
lines changed

2 files changed

+8
-7
lines changed

src/main/java/uk/co/spudsoft/params4j/ConfigurationProperty.java

+6-5
Original file line numberDiff line numberDiff line change
@@ -222,9 +222,10 @@ public boolean equals(Object obj) {
222222
* <pre>
223223
* int maxNameLen = docs.stream().map(p -> p.name.length()).max(Integer::compare).get();
224224
* </pre>
225+
* @param lineTerminator The string to put at the end of each line, probably "\n", but could be "\n\n" or "\r\n" if you prefer.
225226
*
226227
*/
227-
public void appendUsage(StringBuilder builder, int maxNameLen) {
228+
public void appendUsage(StringBuilder builder, int maxNameLen, String lineTerminator) {
228229

229230
maxNameLen += 6;
230231

@@ -252,7 +253,7 @@ public void appendUsage(StringBuilder builder, int maxNameLen) {
252253
.append("default: ")
253254
.append(defaultValue);
254255
}
255-
builder.append("\n\n");
256+
builder.append(lineTerminator);
256257
}
257258

258259
/**
@@ -267,9 +268,10 @@ public void appendUsage(StringBuilder builder, int maxNameLen) {
267268
* </pre>
268269
* @param prefixStrip String to be removed from the beginning of each name (typically '--')
269270
* @param prefixAdd String to be add to the beginning of each name (the namePrefix passed in to withEnvironmentVariablesGatherer)
271+
* @param lineTerminator The string to put at the end of each line, probably "\n", but could be "\n\n" or "\r\n" if you prefer.
270272
*
271273
*/
272-
public void appendEnv(StringBuilder builder, int maxNameLen, String prefixStrip, String prefixAdd) {
274+
public void appendEnv(StringBuilder builder, int maxNameLen, String prefixStrip, String prefixAdd, String lineTerminator) {
273275
if (canBeEnvVar) {
274276
if (prefixStrip == null) {
275277
prefixStrip = "";
@@ -315,8 +317,7 @@ public void appendEnv(StringBuilder builder, int maxNameLen, String prefixStrip,
315317
.append(defaultValue);
316318
}
317319

318-
319-
builder.append("\n\n");
320+
builder.append(lineTerminator);
320321
}
321322
}
322323

src/test/resources/commentcap/TestDocs.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ public String usage() {
5454

5555
StringBuilder usageBuilder = new StringBuilder();
5656
for (ConfigurationProperty prop : docs) {
57-
prop.appendUsage(usageBuilder, maxNameLen);
57+
prop.appendUsage(usageBuilder, maxNameLen, "\n");
5858
}
5959
return usageBuilder.toString();
6060
}
@@ -64,7 +64,7 @@ public String envVars() {
6464

6565
StringBuilder usageBuilder = new StringBuilder();
6666
for (ConfigurationProperty prop : docs) {
67-
prop.appendEnv(usageBuilder, maxNameLen, "--", "test");
67+
prop.appendEnv(usageBuilder, maxNameLen, "--", "test", "\n");
6868
}
6969
return usageBuilder.toString();
7070
}

0 commit comments

Comments
 (0)