|
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
|
@@ -363,6 +387,26 @@ argbash_api([ARG_OPTIONAL_BOOLEAN], _CHECK_PASSED_ARGS_COUNT(1, 4)[m4_do(
|
363 | 387 | )])
|
364 | 388 |
|
365 | 389 |
|
| 390 | +dnl $1: long name, var suffix (translit of [-] -> _) |
| 391 | +dnl $2: short name (opt) |
| 392 | +dnl $3: help |
| 393 | +argbash_api([ARG_OPTIONAL_SWITCH_ON], _CHECK_PASSED_ARGS_COUNT(1, 3)[m4_do( |
| 394 | + [[$0($@)]], |
| 395 | + [_ADD_OPTIONAL_ARGUMENT_IF_POSSIBLE([$1], [$2], [$3], [off], [bool])], |
| 396 | +)]) |
| 397 | + |
| 398 | + |
| 399 | +dnl $1: long name, var suffix (translit of [-] -> _) |
| 400 | +dnl $2: short name (opt) |
| 401 | +dnl $3: help |
| 402 | +dnl $4: the negation prefix (=no-, resulting in i.e. --no-video) |
| 403 | +argbash_api([ARG_OPTIONAL_SWITCH_OFF], _CHECK_PASSED_ARGS_COUNT(1, 4)[m4_do( |
| 404 | + [[$0($@)]], |
| 405 | + [STORE_NEGATION_PREFIX([$1], m4_default([[$4]], [[no-]]))], |
| 406 | + [_ADD_OPTIONAL_ARGUMENT_IF_POSSIBLE([$1], [$2], [$3], [on], [bool])], |
| 407 | +)]) |
| 408 | + |
| 409 | + |
366 | 410 | m4_define([_ARG_OPTIONAL_ACTION],
|
367 | 411 | [_ADD_OPTIONAL_ARGUMENT_IF_POSSIBLE([$1], [$2], [$3], [$4], [action])])
|
368 | 412 |
|
|
0 commit comments