Fix printing of options categories in CLI help
Before it was omitting category titles / section breaks if the first option of the new category happened to be undocumented.
RELNOTES: None
PiperOrigin-RevId: 155458981
GitOrigin-RevId: ea71d6dc3d60c4ac937f3236c50b20f2daeefd58
Change-Id: I2022e83edc43904ee635073ebdea745d52d301f1
diff --git a/java/com/google/devtools/common/options/OptionsParser.java b/java/com/google/devtools/common/options/OptionsParser.java
index c6bd002..728c490 100644
--- a/java/com/google/devtools/common/options/OptionsParser.java
+++ b/java/com/google/devtools/common/options/OptionsParser.java
@@ -553,15 +553,14 @@
for (Field optionField : allFields) {
Option option = optionField.getAnnotation(Option.class);
String category = option.category();
- if (!category.equals(prevCategory)) {
- prevCategory = category;
+ if (!category.equals(prevCategory)
+ && option.optionUsageRestrictions() == OptionUsageRestrictions.DOCUMENTED) {
String description = categoryDescriptions.get(category);
if (description == null) {
description = "Options category '" + category + "'";
}
- if (option.optionUsageRestrictions() == OptionUsageRestrictions.DOCUMENTED) {
- desc.append("\n").append(description).append(":\n");
- }
+ desc.append("\n").append(description).append(":\n");
+ prevCategory = category;
}
if (option.optionUsageRestrictions() == OptionUsageRestrictions.DOCUMENTED) {