Add new help text messages with option specs and metavars expanded inline
Marco Ricci

Marco Ricci commited on 2026-08-16 09:20:06
Zeige 1 geänderte Dateien mit 292 Einfügungen und 1 Löschungen.


For all option one-line descriptions, add variants where the option
specification (as it appears in the help text) is included inline, as
a first line/first paragraph, and the one-line description as the second
paragraph.  In these variants, metavars are expanded inline, as in the
previous commit.

The inline expansion of metavars follows the reasoning from the previous
commit.  The one-line description is due to a planned new command-line
argument parser, which is strictly a parser and thus leaves option
grouping, mutually exclusive options and help text generation to the
application.  Keeping the formatted option specification in the help
text string gives the translators more context, and also allows the
application (the help text formatting part at least) to rediscover the
grouping or mutual exclusivity based on identical help text strings.
... ...
@@ -686,13 +686,14 @@ class Label(enum.Enum):
686 686
     )
687 687
     """"""
688 688
     SETTINGS_ORIGIN_INTERACTIVE = commented(
689
-        "This value is used as the {key} metavar for "
689
+        "This value is used as the key metavar for "
690 690
         "Label.PASSPHRASE_NOT_NORMALIZED if the passphrase was "
691 691
         "entered interactively.",
692 692
     )(
693 693
         "Label :: Error message :: Metavar",
694 694
         "interactive input",
695 695
     )
696
+    """"""
696 697
     CONFIGURATION_EPILOG = commented(
697 698
         "",
698 699
     )(
... ...
@@ -982,6 +983,15 @@ class Label(enum.Enum):
982 983
         "Also emit debug information.  Implies --verbose.",
983 984
     )
984 985
     """"""
986
+    DEBUG_OPTION_SPEC_AND_HELP_TEXT = commented(
987
+        "",
988
+    )(
989
+        "Label :: Help text :: One-line description",
990
+        "--debug\n"
991
+        "\n"
992
+        "Also emit debug information.  Implies --verbose.",
993
+    )
994
+    """"""
985 995
     DERIVEPASSPHRASE_01 = commented(
986 996
         "This is the first paragraph of the command help text, "
987 997
         "but it also appears (in truncated form, if necessary) "
... ...
@@ -1034,6 +1044,16 @@ class Label(enum.Enum):
1034 1044
         flags="python-brace-format",
1035 1045
     )
1036 1046
     """"""
1047
+    DERIVEPASSPHRASE_VAULT_CONFIG_SPEC_AND_HELP_TEXT = commented(
1048
+        "Same SERVICE metavar as in "
1049
+        '"Deriving a passphrase requires a SERVICE." message.',
1050
+    )(
1051
+        "Label :: Help text :: One-line description",
1052
+        "-c, --config\n"
1053
+        "\n"
1054
+        "Save the given settings for SERVICE, or global.",
1055
+    )
1056
+    """"""
1037 1057
     DERIVEPASSPHRASE_VAULT_DASH_HELP_TEXT = commented(
1038 1058
         "The metavar is Label.PASSPHRASE_GENERATION_METAVAR_NUMBER.",
1039 1059
     )(
... ...
@@ -1042,6 +1062,15 @@ class Label(enum.Enum):
1042 1062
         flags="python-brace-format",
1043 1063
     )
1044 1064
     """"""
1065
+    DERIVEPASSPHRASE_VAULT_DASH_SPEC_AND_HELP_TEXT = commented(
1066
+        "Same NUMBER metavar as --lower option.",
1067
+    )(
1068
+        "Label :: Help text :: One-line description",
1069
+        "--dash NUMBER\n"
1070
+        "\n"
1071
+        'Ensure at least NUMBER "-" or "_" characters.',
1072
+    )
1073
+    """"""
1045 1074
     DERIVEPASSPHRASE_VAULT_DELETE_ALL_HELP_TEXT = commented(
1046 1075
         "",
1047 1076
     )(
... ...
@@ -1049,6 +1078,15 @@ class Label(enum.Enum):
1049 1078
         "Delete all settings.",
1050 1079
     )
1051 1080
     """"""
1081
+    DERIVEPASSPHRASE_VAULT_DELETE_ALL_SPEC_AND_HELP_TEXT = commented(
1082
+        "",
1083
+    )(
1084
+        "Label :: Help text :: One-line description",
1085
+        "-X, --clear\n"
1086
+        "\n"
1087
+        "Delete all settings.",
1088
+    )
1089
+    """"""
1052 1090
     DERIVEPASSPHRASE_VAULT_DELETE_GLOBALS_HELP_TEXT = commented(
1053 1091
         "",
1054 1092
     )(
... ...
@@ -1056,6 +1094,15 @@ class Label(enum.Enum):
1056 1094
         "Delete the global settings.",
1057 1095
     )
1058 1096
     """"""
1097
+    DERIVEPASSPHRASE_VAULT_DELETE_GLOBALS_SPEC_AND_HELP_TEXT = commented(
1098
+        "",
1099
+    )(
1100
+        "Label :: Help text :: One-line description",
1101
+        "--delete-globals\n"
1102
+        "\n"
1103
+        "Delete the global settings.",
1104
+    )
1105
+    """"""
1059 1106
     DERIVEPASSPHRASE_VAULT_DELETE_HELP_TEXT = commented(
1060 1107
         "The metavar is Label.VAULT_METAVAR_SERVICE.",
1061 1108
     )(
... ...
@@ -1064,6 +1111,16 @@ class Label(enum.Enum):
1064 1111
         flags="python-brace-format",
1065 1112
     )
1066 1113
     """"""
1114
+    DERIVEPASSPHRASE_VAULT_DELETE_SPEC_AND_HELP_TEXT = commented(
1115
+        "Same SERVICE metavar as in "
1116
+        '"Deriving a passphrase requires a SERVICE." message.',
1117
+    )(
1118
+        "Label :: Help text :: One-line description",
1119
+        "-x SERVICE, --delete SERVICE\n"
1120
+        "\n"
1121
+        "Delete the settings for SERVICE.",
1122
+    )
1123
+    """"""
1067 1124
     DERIVEPASSPHRASE_VAULT_EDITOR_INTERFACE_HELP_TEXT = commented(
1068 1125
         "The corresponding option is displayed as "
1069 1126
         '"--modern-editor-interface / --vault-legacy-editor-interface", '
... ...
@@ -1079,6 +1136,19 @@ class Label(enum.Enum):
1079 1136
         "or the vault-like legacy one (default).",
1080 1137
     )
1081 1138
     """"""
1139
+    DERIVEPASSPHRASE_VAULT_EDITOR_INTERFACE_SPEC_AND_HELP_TEXT = commented(
1140
+        "Though the vault(1) legacy editor interface clearly has deficiencies "
1141
+        "and (in my opinion) should only be used for compatibility purposes, "
1142
+        "the one-line help text should try not to sound too judgmental, "
1143
+        "if possible.",
1144
+    )(
1145
+        "Label :: Help text :: One-line description",
1146
+        "--modern-editor-interface / --vault-legacy-editor-interface\n"
1147
+        "\n"
1148
+        "Edit notes using the modern editor interface "
1149
+        "or the vault-like legacy one (default).",
1150
+    )
1151
+    """"""
1082 1152
     DERIVEPASSPHRASE_VAULT_EXPORT_AS_HELP_TEXT = commented(
1083 1153
         "The corresponding option is displayed as "
1084 1154
         '"--export-as=json|sh", so json refers to the JSON format (default) '
... ...
@@ -1091,6 +1161,17 @@ class Label(enum.Enum):
1091 1161
         "When exporting, export as JSON (default) or as POSIX sh.",
1092 1162
     )
1093 1163
     """"""
1164
+    DERIVEPASSPHRASE_VAULT_EXPORT_AS_SPEC_AND_HELP_TEXT = commented(
1165
+        'Please ensure that it is clear what the "json" and "sh" format names '
1166
+        "refer to, even if you cannot use texutal correspondence "
1167
+        "like the English text does.",
1168
+    )(
1169
+        "Label :: Help text :: One-line description",
1170
+        "--export-as [json|sh]\n"
1171
+        "\n"
1172
+        "When exporting, export as JSON (default) or as POSIX sh.",
1173
+    )
1174
+    """"""
1094 1175
     DERIVEPASSPHRASE_VAULT_EXPORT_HELP_TEXT = commented(
1095 1176
         "The metavar is Label.STORAGE_MANAGEMENT_METAVAR_PATH.",
1096 1177
     )(
... ...
@@ -1099,6 +1180,15 @@ class Label(enum.Enum):
1099 1180
         flags="python-brace-format",
1100 1181
     )
1101 1182
     """"""
1183
+    DERIVEPASSPHRASE_VAULT_EXPORT_SPEC_AND_HELP_TEXT = commented(
1184
+        "",
1185
+    )(
1186
+        "Label :: Help text :: One-line description",
1187
+        "-e PATH, --export PATH\n"
1188
+        "\n"
1189
+        "Export all saved settings to PATH.",
1190
+    )
1191
+    """"""
1102 1192
     DERIVEPASSPHRASE_VAULT_IMPORT_HELP_TEXT = commented(
1103 1193
         "The metavar is Label.STORAGE_MANAGEMENT_METAVAR_PATH.",
1104 1194
     )(
... ...
@@ -1107,6 +1197,15 @@ class Label(enum.Enum):
1107 1197
         flags="python-brace-format",
1108 1198
     )
1109 1199
     """"""
1200
+    DERIVEPASSPHRASE_VAULT_IMPORT_SPEC_AND_HELP_TEXT = commented(
1201
+        "Same PATH metavar as --export option.",
1202
+    )(
1203
+        "Label :: Help text :: One-line description",
1204
+        "-i PATH, --import PATH\n"
1205
+        "\n"
1206
+        "Import saved settings from PATH.",
1207
+    )
1208
+    """"""
1110 1209
     DERIVEPASSPHRASE_VAULT_KEY_HELP_TEXT = commented(
1111 1210
         "",
1112 1211
     )(
... ...
@@ -1114,6 +1213,15 @@ class Label(enum.Enum):
1114 1213
         "Select a suitable SSH key from the SSH agent.",
1115 1214
     )
1116 1215
     """"""
1216
+    DERIVEPASSPHRASE_VAULT_KEY_SPEC_AND_HELP_TEXT = commented(
1217
+        "",
1218
+    )(
1219
+        "Label :: Help text :: One-line description",
1220
+        "-k, --key\n"
1221
+        "\n"
1222
+        "Select a suitable SSH key from the SSH agent.",
1223
+    )
1224
+    """"""
1117 1225
     DERIVEPASSPHRASE_VAULT_LENGTH_HELP_TEXT = commented(
1118 1226
         "The metavar is Label.PASSPHRASE_GENERATION_METAVAR_NUMBER.",
1119 1227
     )(
... ...
@@ -1122,6 +1230,15 @@ class Label(enum.Enum):
1122 1230
         flags="python-brace-format",
1123 1231
     )
1124 1232
     """"""
1233
+    DERIVEPASSPHRASE_VAULT_LENGTH_SPEC_AND_HELP_TEXT = commented(
1234
+        "Same NUMBER metavar as --lower option.",
1235
+    )(
1236
+        "Label :: Help text :: One-line description",
1237
+        "-l NUMBER, --length NUMBER\n"
1238
+        "\n"
1239
+        "Ensure a passphrase length of NUMBER characters.",
1240
+    )
1241
+    """"""
1125 1242
     DERIVEPASSPHRASE_VAULT_LOWER_HELP_TEXT = commented(
1126 1243
         "The metavar is Label.PASSPHRASE_GENERATION_METAVAR_NUMBER.",
1127 1244
     )(
... ...
@@ -1130,6 +1247,15 @@ class Label(enum.Enum):
1130 1247
         flags="python-brace-format",
1131 1248
     )
1132 1249
     """"""
1250
+    DERIVEPASSPHRASE_VAULT_LOWER_SPEC_AND_HELP_TEXT = commented(
1251
+        "",
1252
+    )(
1253
+        "Label :: Help text :: One-line description",
1254
+        "--lower NUMBER\n"
1255
+        "\n"
1256
+        "Ensure at least NUMBER lowercase characters.",
1257
+    )
1258
+    """"""
1133 1259
     DERIVEPASSPHRASE_VAULT_NOTES_HELP_TEXT = commented(
1134 1260
         "The metavar is Label.VAULT_METAVAR_SERVICE.",
1135 1261
     )(
... ...
@@ -1138,6 +1264,16 @@ class Label(enum.Enum):
1138 1264
         flags="python-brace-format",
1139 1265
     )
1140 1266
     """"""
1267
+    DERIVEPASSPHRASE_VAULT_NOTES_SPEC_AND_HELP_TEXT = commented(
1268
+        "Same SERVICE metavar as in "
1269
+        '"Deriving a passphrase requires a SERVICE." message.',
1270
+    )(
1271
+        "Label :: Help text :: One-line description",
1272
+        "-n, --notes\n",
1273
+        "\n"
1274
+        "With --config and SERVICE, spawn an editor to edit notes.",
1275
+    )
1276
+    """"""
1141 1277
     DERIVEPASSPHRASE_VAULT_NUMBER_HELP_TEXT = commented(
1142 1278
         "The metavar is Label.PASSPHRASE_GENERATION_METAVAR_NUMBER.",
1143 1279
     )(
... ...
@@ -1146,6 +1282,15 @@ class Label(enum.Enum):
1146 1282
         flags="python-brace-format",
1147 1283
     )
1148 1284
     """"""
1285
+    DERIVEPASSPHRASE_VAULT_NUMBER_SPEC_AND_HELP_TEXT = commented(
1286
+        "Same NUMBER metavar as --lower option.",
1287
+    )(
1288
+        "Label :: Help text :: One-line description",
1289
+        "--number NUMBER\n"
1290
+        "\n"
1291
+        "Ensure at least NUMBER digits.",
1292
+    )
1293
+    """"""
1149 1294
     DERIVEPASSPHRASE_VAULT_OVERWRITE_HELP_TEXT = commented(
1150 1295
         "The corresponding option is displayed as "
1151 1296
         '"--overwrite-existing / --merge-existing", so you may want to '
... ...
@@ -1155,6 +1300,15 @@ class Label(enum.Enum):
1155 1300
         "Overwrite or merge (default) the existing configuration.",
1156 1301
     )
1157 1302
     """"""
1303
+    DERIVEPASSPHRASE_VAULT_OVERWRITE_SPEC_AND_HELP_TEXT = commented(
1304
+        "",
1305
+    )(
1306
+        "Label :: Help text :: One-line description",
1307
+        "--overwrite-existing / --merge-existing\n"
1308
+        "\n"
1309
+        "Overwrite or merge (default) the existing configuration.",
1310
+    )
1311
+    """"""
1158 1312
     DERIVEPASSPHRASE_VAULT_PHRASE_HELP_TEXT = commented(
1159 1313
         "",
1160 1314
     )(
... ...
@@ -1162,6 +1316,15 @@ class Label(enum.Enum):
1162 1316
         "Prompt for a master passphrase.",
1163 1317
     )
1164 1318
     """"""
1319
+    DERIVEPASSPHRASE_VAULT_PHRASE_SPEC_AND_HELP_TEXT = commented(
1320
+        "",
1321
+    )(
1322
+        "Label :: Help text :: One-line description",
1323
+        "-p, --phrase\n"
1324
+        "\n"
1325
+        "Prompt for a master passphrase.",
1326
+    )
1327
+    """"""
1165 1328
     DERIVEPASSPHRASE_VAULT_PRINT_NOTES_BEFORE_HELP_TEXT = commented(
1166 1329
         "The corresponding option is displayed as "
1167 1330
         '"--print-notes-before / --print-notes-after", so you may want to '
... ...
@@ -1173,6 +1336,16 @@ class Label(enum.Enum):
1173 1336
         flags="python-brace-format",
1174 1337
     )
1175 1338
     """"""
1339
+    DERIVEPASSPHRASE_VAULT_PRINT_NOTES_BEFORE_SPEC_AND_HELP_TEXT = commented(
1340
+        "",
1341
+    )(
1342
+        "Label :: Help text :: One-line description",
1343
+        "--print-notes-before / --print-notes-after\n"
1344
+        "\n"
1345
+        "Print the notes for SERVICE (if any) before or "
1346
+        "after (default) the derived passphrase.",
1347
+    )
1348
+    """"""
1176 1349
     DERIVEPASSPHRASE_VAULT_REPEAT_HELP_TEXT = commented(
1177 1350
         "The metavar is Label.PASSPHRASE_GENERATION_METAVAR_NUMBER.",
1178 1351
     )(
... ...
@@ -1182,6 +1355,16 @@ class Label(enum.Enum):
1182 1355
         flags="python-brace-format",
1183 1356
     )
1184 1357
     """"""
1358
+    DERIVEPASSPHRASE_VAULT_REPEAT_SPEC_AND_HELP_TEXT = commented(
1359
+        "Same NUMBER metavar as --lower option.",
1360
+    )(
1361
+        "Label :: Help text :: One-line description",
1362
+        "-r NUMBER, --repeat NUMBER\n"
1363
+        "\n"
1364
+        "Restrict runs of identical characters to at most NUMBER "
1365
+        "characters.",
1366
+    )
1367
+    """"""
1185 1368
     DERIVEPASSPHRASE_VAULT_SSH_AGENT_SOCKET_PROVIDER_HELP_TEXT = commented(
1186 1369
         "The metavar is "
1187 1370
         "Label.VAULT_COMPATIBILITY_METAVAR_SSH_AGENT_SOCKET_PROVIDER.",
... ...
@@ -1191,6 +1374,15 @@ class Label(enum.Enum):
1191 1374
         flags="python-brace-format",
1192 1375
     )
1193 1376
     """"""
1377
+    DERIVEPASSPHRASE_VAULT_SSH_AGENT_SOCKET_PROVIDER_SPEC_AND_HELP_TEXT = commented(  # noqa: E501
1378
+        "",
1379
+    )(
1380
+        "Label :: Help text :: One-line description",
1381
+        "--ssh-agent-socket-provider PROVIDER\n"
1382
+        "\n"
1383
+        "Use PROVIDER as the SSH agent socket provider.",
1384
+    )
1385
+    """"""
1194 1386
     DERIVEPASSPHRASE_VAULT_SPACE_HELP_TEXT = commented(
1195 1387
         "The metavar is Label.PASSPHRASE_GENERATION_METAVAR_NUMBER.",
1196 1388
     )(
... ...
@@ -1199,6 +1391,15 @@ class Label(enum.Enum):
1199 1391
         flags="python-brace-format",
1200 1392
     )
1201 1393
     """"""
1394
+    DERIVEPASSPHRASE_VAULT_SPACE_SPEC_AND_HELP_TEXT = commented(
1395
+        "Same NUMBER metavar as --lower option.",
1396
+    )(
1397
+        "Label :: Help text :: One-line description",
1398
+        "--space NUMBER\n"
1399
+        "\n"
1400
+        "Ensure at least NUMBER spaces.",
1401
+    )
1402
+    """"""
1202 1403
     DERIVEPASSPHRASE_VAULT_SYMBOL_HELP_TEXT = commented(
1203 1404
         "The metavar is Label.PASSPHRASE_GENERATION_METAVAR_NUMBER.",
1204 1405
     )(
... ...
@@ -1207,6 +1408,15 @@ class Label(enum.Enum):
1207 1408
         flags="python-brace-format",
1208 1409
     )
1209 1410
     """"""
1411
+    DERIVEPASSPHRASE_VAULT_SYMBOL_SPEC_AND_HELP_TEXT = commented(
1412
+        "Same NUMBER metavar as --lower option.",
1413
+    )(
1414
+        "Label :: Help text :: One-line description",
1415
+        "--symbol NUMBER\n"
1416
+        "\n"
1417
+        "Ensure at least NUMBER symbol characters.",
1418
+    )
1419
+    """"""
1210 1420
     DERIVEPASSPHRASE_VAULT_UNSET_HELP_TEXT = commented(
1211 1421
         "The corresponding option is displayed as "
1212 1422
         '"--unset=phrase|key|...|symbol", so the "given setting" is '
... ...
@@ -1220,6 +1430,18 @@ class Label(enum.Enum):
1220 1430
         "May be specified multiple times.",
1221 1431
     )
1222 1432
     """"""
1433
+    DERIVEPASSPHRASE_VAULT_UNSET_SPEC_AND_HELP_TEXT = commented(
1434
+        '"with --config" here means that the user must also specify '
1435
+        '"--config" for this option to have any effect.',
1436
+    )(
1437
+        "Label :: Help text :: One-line description",
1438
+        "--unset [phrase|key|length|repeat|lower|upper|"
1439
+        "number|space|dash|symbol|notes]\n"
1440
+        "\n"
1441
+        "With --config, also unset the given setting.  "
1442
+        "May be specified multiple times.",
1443
+    )
1444
+    """"""
1223 1445
     DERIVEPASSPHRASE_VAULT_UPPER_HELP_TEXT = commented(
1224 1446
         "The metavar is Label.PASSPHRASE_GENERATION_METAVAR_NUMBER.",
1225 1447
     )(
... ...
@@ -1228,6 +1450,15 @@ class Label(enum.Enum):
1228 1450
         flags="python-brace-format",
1229 1451
     )
1230 1452
     """"""
1453
+    DERIVEPASSPHRASE_VAULT_UPPER_SPEC_AND_HELP_TEXT = commented(
1454
+        "Same NUMBER metavar as --lower option.",
1455
+    )(
1456
+        "Label :: Help text :: One-line description",
1457
+        "--upper NUMBER\n"
1458
+        "\n"
1459
+        "Ensure at least NUMBER uppercase characters.",
1460
+    )
1461
+    """"""
1231 1462
 
1232 1463
     EXPORT_VAULT_FORMAT_DEFAULTS_HELP_TEXT = commented(
1233 1464
         "See EXPORT_VAULT_FORMAT_HELP_TEXT.  "
... ...
@@ -1250,6 +1481,19 @@ class Label(enum.Enum):
1250 1481
         flags="python-brace-format",
1251 1482
     )
1252 1483
     """"""
1484
+    EXPORT_VAULT_FORMAT_SPEC_AND_HELP_TEXT = commented(
1485
+        'The format names/labels "v0.3", "v0.2" and "storeroom" '
1486
+        "should not be translated.",
1487
+    )(
1488
+        "Label :: Help text :: One-line description",
1489
+        "-f FMT, --format FMT\n"
1490
+        "\n"
1491
+        "Try the following storage format FMT.  "
1492
+        "If specified multiple times, the "
1493
+        "formats will be tried in order.  "
1494
+        "Default: v0.3, v0.2, storeroom.",
1495
+    )
1496
+    """"""
1253 1497
     EXPORT_VAULT_KEY_DEFAULTS_HELP_TEXT = commented(
1254 1498
         "See EXPORT_VAULT_KEY_HELP_TEXT.",
1255 1499
     )(
... ...
@@ -1267,6 +1511,17 @@ class Label(enum.Enum):
1267 1511
         flags="python-brace-format",
1268 1512
     )
1269 1513
     """"""
1514
+    EXPORT_VAULT_KEY_SPEC_AND_HELP_TEXT = commented(
1515
+        "",
1516
+    )(
1517
+        "Label :: Help text :: One-line description",
1518
+        "-k K, --key K\n"
1519
+        "\n"
1520
+        "Use K as the storage master key.  ",
1521
+        "Default: check the VAULT_KEY, LOGNAME, USER, or USERNAME "
1522
+        "environment variables.",
1523
+    )
1524
+    """"""
1270 1525
     HELP_OPTION_HELP_TEXT = commented(
1271 1526
         "",
1272 1527
     )(
... ...
@@ -1274,6 +1529,15 @@ class Label(enum.Enum):
1274 1529
         "Show this help text, then exit.",
1275 1530
     )
1276 1531
     """"""
1532
+    HELP_OPTION_SPEC_AND_HELP_TEXT = commented(
1533
+        "",
1534
+    )(
1535
+        "Label :: Help text :: One-line description",
1536
+        "-h, --help\n"
1537
+        "\n"
1538
+        "Show this help text, then exit.",
1539
+    )
1540
+    """"""
1277 1541
     QUIET_OPTION_HELP_TEXT = commented(
1278 1542
         "",
1279 1543
     )(
... ...
@@ -1281,6 +1545,15 @@ class Label(enum.Enum):
1281 1545
         "Suppress even warnings; emit only errors.",
1282 1546
     )
1283 1547
     """"""
1548
+    QUIET_OPTION_SPEC_AND_HELP_TEXT = commented(
1549
+        "",
1550
+    )(
1551
+        "Label :: Help text :: One-line description",
1552
+        "-q, --quiet\n"
1553
+        "\n"
1554
+        "Suppress even warnings; emit only errors.",
1555
+    )
1556
+    """"""
1284 1557
     VERBOSE_OPTION_HELP_TEXT = commented(
1285 1558
         "",
1286 1559
     )(
... ...
@@ -1288,6 +1561,15 @@ class Label(enum.Enum):
1288 1561
         "Emit extra/progress information to standard error.",
1289 1562
     )
1290 1563
     """"""
1564
+    VERBOSE_OPTION_SPEC_AND_HELP_TEXT = commented(
1565
+        "",
1566
+    )(
1567
+        "Label :: Help text :: One-line description",
1568
+        "-v, --verbose\n"
1569
+        "\n"
1570
+        "Emit extra/progress information to standard error.",
1571
+    )
1572
+    """"""
1291 1573
     VERSION_OPTION_HELP_TEXT = commented(
1292 1574
         "",
1293 1575
     )(
... ...
@@ -1295,6 +1577,15 @@ class Label(enum.Enum):
1295 1577
         "Show version and feature information, then exit.",
1296 1578
     )
1297 1579
     """"""
1580
+    VERSION_OPTION_SPEC_AND_HELP_TEXT = commented(
1581
+        "",
1582
+    )(
1583
+        "Label :: Help text :: One-line description",
1584
+        "--version\n"
1585
+        "\n"
1586
+        "Show version and feature information, then exit.",
1587
+    )
1588
+    """"""
1298 1589
     COMMANDS_LABEL = commented(
1299 1590
         "",
1300 1591
     )(
1301 1592