Tue, 30 Jan 2024 21:32:11 +0100
remove unnecessary double-quotes in vars.mk - fixes #370
0
38775db5fdf5
add existing source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
1 | package de.unixwork.uwproj; |
38775db5fdf5
add existing source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
2 | |
38775db5fdf5
add existing source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
3 | import org.w3c.dom.Element; |
38775db5fdf5
add existing source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
4 | |
40
b42bfc9e9983
first minor code improvements
Mike Becker <universe@uap-core.de>
parents:
0
diff
changeset
|
5 | import java.util.List; |
b42bfc9e9983
first minor code improvements
Mike Becker <universe@uap-core.de>
parents:
0
diff
changeset
|
6 | |
45
f4ec2feccebb
add missing shId() in feature var name
Mike Becker <universe@uap-core.de>
parents:
44
diff
changeset
|
7 | import static de.unixwork.uwproj.Util.shId; |
41 | 8 | |
113
24f32dbd88cd
minimize application code
Mike Becker <universe@uap-core.de>
parents:
98
diff
changeset
|
9 | public final class Feature { |
24f32dbd88cd
minimize application code
Mike Becker <universe@uap-core.de>
parents:
98
diff
changeset
|
10 | private final String name; |
24f32dbd88cd
minimize application code
Mike Becker <universe@uap-core.de>
parents:
98
diff
changeset
|
11 | private final String arg; |
24f32dbd88cd
minimize application code
Mike Becker <universe@uap-core.de>
parents:
98
diff
changeset
|
12 | private final boolean auto; |
24f32dbd88cd
minimize application code
Mike Becker <universe@uap-core.de>
parents:
98
diff
changeset
|
13 | private final String desc; |
24f32dbd88cd
minimize application code
Mike Becker <universe@uap-core.de>
parents:
98
diff
changeset
|
14 | private final TargetData targetData; |
41 | 15 | |
113
24f32dbd88cd
minimize application code
Mike Becker <universe@uap-core.de>
parents:
98
diff
changeset
|
16 | public Feature(Element e) { |
24f32dbd88cd
minimize application code
Mike Becker <universe@uap-core.de>
parents:
98
diff
changeset
|
17 | name = e.getAttribute("name"); |
24f32dbd88cd
minimize application code
Mike Becker <universe@uap-core.de>
parents:
98
diff
changeset
|
18 | arg = Util.getAttrOrDefault(e, "arg", name); |
24f32dbd88cd
minimize application code
Mike Becker <universe@uap-core.de>
parents:
98
diff
changeset
|
19 | auto = Boolean.parseBoolean(e.getAttribute("default")); |
24f32dbd88cd
minimize application code
Mike Becker <universe@uap-core.de>
parents:
98
diff
changeset
|
20 | targetData = new TargetData(e); |
97
1af1bfacd25a
add helptext descriptions for features
Mike Becker <universe@uap-core.de>
parents:
79
diff
changeset
|
21 | |
113
24f32dbd88cd
minimize application code
Mike Becker <universe@uap-core.de>
parents:
98
diff
changeset
|
22 | // TODO: when Option also receives descriptions, we will move desc to TargetData |
24f32dbd88cd
minimize application code
Mike Becker <universe@uap-core.de>
parents:
98
diff
changeset
|
23 | desc = Util.getChildElements(e) |
24f32dbd88cd
minimize application code
Mike Becker <universe@uap-core.de>
parents:
98
diff
changeset
|
24 | .filter(c -> c.getNodeName().equals("desc")) |
24f32dbd88cd
minimize application code
Mike Becker <universe@uap-core.de>
parents:
98
diff
changeset
|
25 | .map(Util::getContent) |
24f32dbd88cd
minimize application code
Mike Becker <universe@uap-core.de>
parents:
98
diff
changeset
|
26 | .findAny() |
24f32dbd88cd
minimize application code
Mike Becker <universe@uap-core.de>
parents:
98
diff
changeset
|
27 | .orElse(""); |
0
38775db5fdf5
add existing source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
28 | } |
41 | 29 | |
0
38775db5fdf5
add existing source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
30 | public String getVarName() { |
45
f4ec2feccebb
add missing shId() in feature var name
Mike Becker <universe@uap-core.de>
parents:
44
diff
changeset
|
31 | return shId("FEATURE_" + name.toUpperCase()); |
0
38775db5fdf5
add existing source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
32 | } |
41 | 33 | |
0
38775db5fdf5
add existing source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
34 | public List<String> getDependencies() { |
38775db5fdf5
add existing source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
35 | return getTargetData().getDependencies(); |
38775db5fdf5
add existing source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
36 | } |
38775db5fdf5
add existing source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
37 | |
38775db5fdf5
add existing source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
38 | public List<Define> getDefines() { |
38775db5fdf5
add existing source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
39 | return getTargetData().getDefines(); |
38775db5fdf5
add existing source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
40 | } |
41 | 41 | |
0
38775db5fdf5
add existing source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
42 | public String getMake() { |
38775db5fdf5
add existing source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
43 | return targetData.getMake(); |
38775db5fdf5
add existing source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
44 | } |
41 | 45 | |
0
38775db5fdf5
add existing source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
46 | public boolean hasMake() { |
113
24f32dbd88cd
minimize application code
Mike Becker <universe@uap-core.de>
parents:
98
diff
changeset
|
47 | return targetData.hasMake(); |
0
38775db5fdf5
add existing source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
48 | } |
38775db5fdf5
add existing source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
49 | |
38775db5fdf5
add existing source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
50 | public String getName() { |
38775db5fdf5
add existing source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
51 | return name; |
38775db5fdf5
add existing source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
52 | } |
38775db5fdf5
add existing source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
53 | |
38775db5fdf5
add existing source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
54 | public String getArg() { |
38775db5fdf5
add existing source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
55 | return arg; |
38775db5fdf5
add existing source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
56 | } |
38775db5fdf5
add existing source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
57 | |
97
1af1bfacd25a
add helptext descriptions for features
Mike Becker <universe@uap-core.de>
parents:
79
diff
changeset
|
58 | public String getDesc() { |
1af1bfacd25a
add helptext descriptions for features
Mike Becker <universe@uap-core.de>
parents:
79
diff
changeset
|
59 | return desc; |
1af1bfacd25a
add helptext descriptions for features
Mike Becker <universe@uap-core.de>
parents:
79
diff
changeset
|
60 | } |
1af1bfacd25a
add helptext descriptions for features
Mike Becker <universe@uap-core.de>
parents:
79
diff
changeset
|
61 | |
79
ef0635b78b7b
remove explicit calls of getters in velocity template
Mike Becker <universe@uap-core.de>
parents:
45
diff
changeset
|
62 | public boolean isAuto() { |
ef0635b78b7b
remove explicit calls of getters in velocity template
Mike Becker <universe@uap-core.de>
parents:
45
diff
changeset
|
63 | return auto; |
0
38775db5fdf5
add existing source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
64 | } |
38775db5fdf5
add existing source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
65 | |
38775db5fdf5
add existing source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
66 | public TargetData getTargetData() { |
38775db5fdf5
add existing source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
67 | return targetData; |
38775db5fdf5
add existing source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
68 | } |
38775db5fdf5
add existing source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
69 | |
97
1af1bfacd25a
add helptext descriptions for features
Mike Becker <universe@uap-core.de>
parents:
79
diff
changeset
|
70 | /** |
1af1bfacd25a
add helptext descriptions for features
Mike Becker <universe@uap-core.de>
parents:
79
diff
changeset
|
71 | * Generates help text for the feature option. |
1af1bfacd25a
add helptext descriptions for features
Mike Becker <universe@uap-core.de>
parents:
79
diff
changeset
|
72 | * <p> |
1af1bfacd25a
add helptext descriptions for features
Mike Becker <universe@uap-core.de>
parents:
79
diff
changeset
|
73 | * If {@link #isAuto()} returns true, the option name will be --disable-${@link #getArg()}, otherwise |
1af1bfacd25a
add helptext descriptions for features
Mike Becker <universe@uap-core.de>
parents:
79
diff
changeset
|
74 | * it will be --enable-${@link #getArg()}, preceded by two spaces, respectively. |
1af1bfacd25a
add helptext descriptions for features
Mike Becker <universe@uap-core.de>
parents:
79
diff
changeset
|
75 | * <p> |
1af1bfacd25a
add helptext descriptions for features
Mike Becker <universe@uap-core.de>
parents:
79
diff
changeset
|
76 | * If no description is available via {@link #getDesc()}, only the option name is generated. Otherwise, |
1af1bfacd25a
add helptext descriptions for features
Mike Becker <universe@uap-core.de>
parents:
79
diff
changeset
|
77 | * description is added according to the following rules: |
1af1bfacd25a
add helptext descriptions for features
Mike Becker <universe@uap-core.de>
parents:
79
diff
changeset
|
78 | * <p> |
1af1bfacd25a
add helptext descriptions for features
Mike Becker <universe@uap-core.de>
parents:
79
diff
changeset
|
79 | * When the option name does not consume more than 25 characters, the description starts in the same line. |
1af1bfacd25a
add helptext descriptions for features
Mike Becker <universe@uap-core.de>
parents:
79
diff
changeset
|
80 | * Otherwise, a line break is added, first. The description will be placed in a block starting from column |
1af1bfacd25a
add helptext descriptions for features
Mike Becker <universe@uap-core.de>
parents:
79
diff
changeset
|
81 | * 27 to 80 and automatically break when necessary. The description must not contain a single word |
1af1bfacd25a
add helptext descriptions for features
Mike Becker <universe@uap-core.de>
parents:
79
diff
changeset
|
82 | * that is longer than 54 characters, or it will break the layout. |
1af1bfacd25a
add helptext descriptions for features
Mike Becker <universe@uap-core.de>
parents:
79
diff
changeset
|
83 | * |
1af1bfacd25a
add helptext descriptions for features
Mike Becker <universe@uap-core.de>
parents:
79
diff
changeset
|
84 | * @return a help text for terminal output |
1af1bfacd25a
add helptext descriptions for features
Mike Becker <universe@uap-core.de>
parents:
79
diff
changeset
|
85 | */ |
1af1bfacd25a
add helptext descriptions for features
Mike Becker <universe@uap-core.de>
parents:
79
diff
changeset
|
86 | public String getHelpText() { |
1af1bfacd25a
add helptext descriptions for features
Mike Becker <universe@uap-core.de>
parents:
79
diff
changeset
|
87 | final var builder = new StringBuilder(); |
1af1bfacd25a
add helptext descriptions for features
Mike Becker <universe@uap-core.de>
parents:
79
diff
changeset
|
88 | |
1af1bfacd25a
add helptext descriptions for features
Mike Becker <universe@uap-core.de>
parents:
79
diff
changeset
|
89 | // Compute option name |
1af1bfacd25a
add helptext descriptions for features
Mike Becker <universe@uap-core.de>
parents:
79
diff
changeset
|
90 | final var opt = (auto ? " --disable-" : " --enable-")+arg; |
1af1bfacd25a
add helptext descriptions for features
Mike Becker <universe@uap-core.de>
parents:
79
diff
changeset
|
91 | |
1af1bfacd25a
add helptext descriptions for features
Mike Becker <universe@uap-core.de>
parents:
79
diff
changeset
|
92 | // Add option name |
1af1bfacd25a
add helptext descriptions for features
Mike Becker <universe@uap-core.de>
parents:
79
diff
changeset
|
93 | builder.append(opt); |
1af1bfacd25a
add helptext descriptions for features
Mike Becker <universe@uap-core.de>
parents:
79
diff
changeset
|
94 | |
1af1bfacd25a
add helptext descriptions for features
Mike Becker <universe@uap-core.de>
parents:
79
diff
changeset
|
95 | // Stop, if there is no description |
113
24f32dbd88cd
minimize application code
Mike Becker <universe@uap-core.de>
parents:
98
diff
changeset
|
96 | if (desc.isBlank()) return builder.toString(); |
97
1af1bfacd25a
add helptext descriptions for features
Mike Becker <universe@uap-core.de>
parents:
79
diff
changeset
|
97 | |
1af1bfacd25a
add helptext descriptions for features
Mike Becker <universe@uap-core.de>
parents:
79
diff
changeset
|
98 | // Prepare the description by replacing some unwanted spaces |
1af1bfacd25a
add helptext descriptions for features
Mike Becker <universe@uap-core.de>
parents:
79
diff
changeset
|
99 | final var hdesc = desc.trim() |
1af1bfacd25a
add helptext descriptions for features
Mike Becker <universe@uap-core.de>
parents:
79
diff
changeset
|
100 | .replaceAll("\\r", "") |
1af1bfacd25a
add helptext descriptions for features
Mike Becker <universe@uap-core.de>
parents:
79
diff
changeset
|
101 | .replaceAll("\\t", " "); |
1af1bfacd25a
add helptext descriptions for features
Mike Becker <universe@uap-core.de>
parents:
79
diff
changeset
|
102 | |
1af1bfacd25a
add helptext descriptions for features
Mike Becker <universe@uap-core.de>
parents:
79
diff
changeset
|
103 | // Declare our frame where the description shall be placed |
1af1bfacd25a
add helptext descriptions for features
Mike Becker <universe@uap-core.de>
parents:
79
diff
changeset
|
104 | final int startx = 26; |
1af1bfacd25a
add helptext descriptions for features
Mike Becker <universe@uap-core.de>
parents:
79
diff
changeset
|
105 | final int endx = 80; |
1af1bfacd25a
add helptext descriptions for features
Mike Becker <universe@uap-core.de>
parents:
79
diff
changeset
|
106 | |
1af1bfacd25a
add helptext descriptions for features
Mike Becker <universe@uap-core.de>
parents:
79
diff
changeset
|
107 | // Move to startx (break, if we already past that) |
1af1bfacd25a
add helptext descriptions for features
Mike Becker <universe@uap-core.de>
parents:
79
diff
changeset
|
108 | if (opt.length() >= startx) { |
1af1bfacd25a
add helptext descriptions for features
Mike Becker <universe@uap-core.de>
parents:
79
diff
changeset
|
109 | builder.append("\n"); |
1af1bfacd25a
add helptext descriptions for features
Mike Becker <universe@uap-core.de>
parents:
79
diff
changeset
|
110 | builder.append(" ".repeat(startx)); |
1af1bfacd25a
add helptext descriptions for features
Mike Becker <universe@uap-core.de>
parents:
79
diff
changeset
|
111 | } else { |
1af1bfacd25a
add helptext descriptions for features
Mike Becker <universe@uap-core.de>
parents:
79
diff
changeset
|
112 | builder.append(" ".repeat(startx-opt.length())); |
1af1bfacd25a
add helptext descriptions for features
Mike Becker <universe@uap-core.de>
parents:
79
diff
changeset
|
113 | } |
1af1bfacd25a
add helptext descriptions for features
Mike Becker <universe@uap-core.de>
parents:
79
diff
changeset
|
114 | |
1af1bfacd25a
add helptext descriptions for features
Mike Becker <universe@uap-core.de>
parents:
79
diff
changeset
|
115 | // Append the description keeping the layout intact |
1af1bfacd25a
add helptext descriptions for features
Mike Becker <universe@uap-core.de>
parents:
79
diff
changeset
|
116 | int x = startx; |
1af1bfacd25a
add helptext descriptions for features
Mike Becker <universe@uap-core.de>
parents:
79
diff
changeset
|
117 | for (int i = 0 ; i < hdesc.length() ;) { |
1af1bfacd25a
add helptext descriptions for features
Mike Becker <universe@uap-core.de>
parents:
79
diff
changeset
|
118 | // get the next word and see where we would end |
1af1bfacd25a
add helptext descriptions for features
Mike Becker <universe@uap-core.de>
parents:
79
diff
changeset
|
119 | int s = hdesc.indexOf(' ', i); |
1af1bfacd25a
add helptext descriptions for features
Mike Becker <universe@uap-core.de>
parents:
79
diff
changeset
|
120 | if (s < 0) s = hdesc.length(); |
98
4bf47ea3fc64
allow custom line breaks in help text
Mike Becker <universe@uap-core.de>
parents:
97
diff
changeset
|
121 | int n = hdesc.indexOf('\n', i); |
4bf47ea3fc64
allow custom line breaks in help text
Mike Becker <universe@uap-core.de>
parents:
97
diff
changeset
|
122 | if (n < 0) n = hdesc.length(); |
4bf47ea3fc64
allow custom line breaks in help text
Mike Becker <universe@uap-core.de>
parents:
97
diff
changeset
|
123 | s = Math.min(s, n); |
97
1af1bfacd25a
add helptext descriptions for features
Mike Becker <universe@uap-core.de>
parents:
79
diff
changeset
|
124 | int l = s-i; |
1af1bfacd25a
add helptext descriptions for features
Mike Becker <universe@uap-core.de>
parents:
79
diff
changeset
|
125 | if (x + l > endx) { |
1af1bfacd25a
add helptext descriptions for features
Mike Becker <universe@uap-core.de>
parents:
79
diff
changeset
|
126 | // does not fit, break into next line |
1af1bfacd25a
add helptext descriptions for features
Mike Becker <universe@uap-core.de>
parents:
79
diff
changeset
|
127 | builder.append('\n'); |
1af1bfacd25a
add helptext descriptions for features
Mike Becker <universe@uap-core.de>
parents:
79
diff
changeset
|
128 | builder.append(" ".repeat(startx)); |
1af1bfacd25a
add helptext descriptions for features
Mike Becker <universe@uap-core.de>
parents:
79
diff
changeset
|
129 | x = startx; |
1af1bfacd25a
add helptext descriptions for features
Mike Becker <universe@uap-core.de>
parents:
79
diff
changeset
|
130 | } |
1af1bfacd25a
add helptext descriptions for features
Mike Becker <universe@uap-core.de>
parents:
79
diff
changeset
|
131 | // append the word |
1af1bfacd25a
add helptext descriptions for features
Mike Becker <universe@uap-core.de>
parents:
79
diff
changeset
|
132 | builder.append(hdesc, i, s); |
1af1bfacd25a
add helptext descriptions for features
Mike Becker <universe@uap-core.de>
parents:
79
diff
changeset
|
133 | x += l; |
1af1bfacd25a
add helptext descriptions for features
Mike Becker <universe@uap-core.de>
parents:
79
diff
changeset
|
134 | i += l; |
1af1bfacd25a
add helptext descriptions for features
Mike Becker <universe@uap-core.de>
parents:
79
diff
changeset
|
135 | // append the next spaces |
98
4bf47ea3fc64
allow custom line breaks in help text
Mike Becker <universe@uap-core.de>
parents:
97
diff
changeset
|
136 | while (i < hdesc.length()) { |
4bf47ea3fc64
allow custom line breaks in help text
Mike Becker <universe@uap-core.de>
parents:
97
diff
changeset
|
137 | int c = hdesc.charAt(i); |
4bf47ea3fc64
allow custom line breaks in help text
Mike Becker <universe@uap-core.de>
parents:
97
diff
changeset
|
138 | if (c == ' ') { |
4bf47ea3fc64
allow custom line breaks in help text
Mike Becker <universe@uap-core.de>
parents:
97
diff
changeset
|
139 | // as long as we don't need to break, add the spaces |
4bf47ea3fc64
allow custom line breaks in help text
Mike Becker <universe@uap-core.de>
parents:
97
diff
changeset
|
140 | i++; |
4bf47ea3fc64
allow custom line breaks in help text
Mike Becker <universe@uap-core.de>
parents:
97
diff
changeset
|
141 | x++; |
4bf47ea3fc64
allow custom line breaks in help text
Mike Becker <universe@uap-core.de>
parents:
97
diff
changeset
|
142 | if (x < endx) builder.append(' '); |
4bf47ea3fc64
allow custom line breaks in help text
Mike Becker <universe@uap-core.de>
parents:
97
diff
changeset
|
143 | } else if (c == '\n') { |
4bf47ea3fc64
allow custom line breaks in help text
Mike Becker <universe@uap-core.de>
parents:
97
diff
changeset
|
144 | // if user wants us to break, comply |
4bf47ea3fc64
allow custom line breaks in help text
Mike Becker <universe@uap-core.de>
parents:
97
diff
changeset
|
145 | i++; |
4bf47ea3fc64
allow custom line breaks in help text
Mike Becker <universe@uap-core.de>
parents:
97
diff
changeset
|
146 | // if we have still space, just move to the end of the line |
4bf47ea3fc64
allow custom line breaks in help text
Mike Becker <universe@uap-core.de>
parents:
97
diff
changeset
|
147 | if (x < endx) { |
4bf47ea3fc64
allow custom line breaks in help text
Mike Becker <universe@uap-core.de>
parents:
97
diff
changeset
|
148 | x = endx; |
4bf47ea3fc64
allow custom line breaks in help text
Mike Becker <universe@uap-core.de>
parents:
97
diff
changeset
|
149 | } else { |
4bf47ea3fc64
allow custom line breaks in help text
Mike Becker <universe@uap-core.de>
parents:
97
diff
changeset
|
150 | // otherwise, we need to add an extra blank line |
4bf47ea3fc64
allow custom line breaks in help text
Mike Becker <universe@uap-core.de>
parents:
97
diff
changeset
|
151 | builder.append('\n'); |
4bf47ea3fc64
allow custom line breaks in help text
Mike Becker <universe@uap-core.de>
parents:
97
diff
changeset
|
152 | } |
4bf47ea3fc64
allow custom line breaks in help text
Mike Becker <universe@uap-core.de>
parents:
97
diff
changeset
|
153 | } else { |
4bf47ea3fc64
allow custom line breaks in help text
Mike Becker <universe@uap-core.de>
parents:
97
diff
changeset
|
154 | // we have found the next word, so continue with the outer loop |
4bf47ea3fc64
allow custom line breaks in help text
Mike Becker <universe@uap-core.de>
parents:
97
diff
changeset
|
155 | break; |
4bf47ea3fc64
allow custom line breaks in help text
Mike Becker <universe@uap-core.de>
parents:
97
diff
changeset
|
156 | } |
97
1af1bfacd25a
add helptext descriptions for features
Mike Becker <universe@uap-core.de>
parents:
79
diff
changeset
|
157 | } |
1af1bfacd25a
add helptext descriptions for features
Mike Becker <universe@uap-core.de>
parents:
79
diff
changeset
|
158 | // break to new line, when spaces moved us outside the frame |
1af1bfacd25a
add helptext descriptions for features
Mike Becker <universe@uap-core.de>
parents:
79
diff
changeset
|
159 | if (x > endx) { |
1af1bfacd25a
add helptext descriptions for features
Mike Becker <universe@uap-core.de>
parents:
79
diff
changeset
|
160 | builder.append('\n'); |
1af1bfacd25a
add helptext descriptions for features
Mike Becker <universe@uap-core.de>
parents:
79
diff
changeset
|
161 | builder.append(" ".repeat(startx)); |
1af1bfacd25a
add helptext descriptions for features
Mike Becker <universe@uap-core.de>
parents:
79
diff
changeset
|
162 | x = startx; |
1af1bfacd25a
add helptext descriptions for features
Mike Becker <universe@uap-core.de>
parents:
79
diff
changeset
|
163 | } |
1af1bfacd25a
add helptext descriptions for features
Mike Becker <universe@uap-core.de>
parents:
79
diff
changeset
|
164 | } |
1af1bfacd25a
add helptext descriptions for features
Mike Becker <universe@uap-core.de>
parents:
79
diff
changeset
|
165 | |
1af1bfacd25a
add helptext descriptions for features
Mike Becker <universe@uap-core.de>
parents:
79
diff
changeset
|
166 | return builder.toString(); |
1af1bfacd25a
add helptext descriptions for features
Mike Becker <universe@uap-core.de>
parents:
79
diff
changeset
|
167 | } |
0
38775db5fdf5
add existing source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
168 | } |