|
1 | 1 | m4_define([_COLLECTOR_FEEDBACK], [m4_fatal($@)])
|
2 | 2 |
|
3 | 3 |
|
| 4 | +dnl |
| 5 | +dnl $1: The key |
| 6 | +m4_define([_FORMAT_MISSING_PREFIX], [m4_do( |
| 7 | + [[The prefix for option '$1' has not been found]], |
| 8 | +)]) |
| 9 | + |
| 10 | +dnl |
| 11 | +dnl $1: The argname(i.e. storage key) |
| 12 | +dnl $2: The prefix |
| 13 | +m4_define([STORE_NEGATION_PREFIX], [m4_do( |
| 14 | + [m4_define([_NEG_PREFIX_FOR_$1], [[$2]])], |
| 15 | +)]) |
| 16 | + |
| 17 | + |
| 18 | +dnl |
| 19 | +dnl $1: The argname(i.e. storage key) |
| 20 | +dnl $2: Error-handling callback that is given the error message as the first argument. |
| 21 | +m4_define([GET_NEGATION_PREFIX], [m4_do( |
| 22 | + [m4_ifndef([_NEG_PREFIX_FOR_$1], |
| 23 | + [m4_default([$2], [m4_fatal])([_FORMAT_MISSING_PREFIX([$1])])], |
| 24 | + [m4_quote(m4_indir([_NEG_PREFIX_FOR_$1]))])], |
| 25 | +)]) |
| 26 | + |
| 27 | + |
4 | 28 | dnl
|
5 | 29 | dnl $1: The argument name
|
6 | 30 | dnl $2: The help message
|
@@ -331,6 +355,26 @@ argbash_api([ARG_OPTIONAL_BOOLEAN], _CHECK_PASSED_ARGS_COUNT(1, 4)[m4_do(
|
331 | 355 | )])
|
332 | 356 |
|
333 | 357 |
|
| 358 | +dnl $1: long name, var suffix (translit of [-] -> _) |
| 359 | +dnl $2: short name (opt) |
| 360 | +dnl $3: help |
| 361 | +argbash_api([ARG_OPTIONAL_SWITCH_ON], _CHECK_PASSED_ARGS_COUNT(1, 3)[m4_do( |
| 362 | + [[$0($@)]], |
| 363 | + [_ADD_OPTIONAL_ARGUMENT_IF_POSSIBLE([$1], [$2], [$3], [off], [bool])], |
| 364 | +)]) |
| 365 | + |
| 366 | + |
| 367 | +dnl $1: long name, var suffix (translit of [-] -> _) |
| 368 | +dnl $2: short name (opt) |
| 369 | +dnl $3: help |
| 370 | +dnl $4: the negation prefix (=no-, resulting in i.e. --no-video) |
| 371 | +argbash_api([ARG_OPTIONAL_SWITCH_OFF], _CHECK_PASSED_ARGS_COUNT(1, 4)[m4_do( |
| 372 | + [[$0($@)]], |
| 373 | + [STORE_NEGATION_PREFIX([$1], m4_default([[$4]], [[no-]]))], |
| 374 | + [_ADD_OPTIONAL_ARGUMENT_IF_POSSIBLE([$1], [$2], [$3], [on], [bool])], |
| 375 | +)]) |
| 376 | + |
| 377 | + |
334 | 378 | m4_define([_ARG_OPTIONAL_ACTION],
|
335 | 379 | [_ADD_OPTIONAL_ARGUMENT_IF_POSSIBLE([$1], [$2], [$3], [$4], [action])])
|
336 | 380 |
|
|
0 commit comments