1 | /// Helper function that appends extra documentation to [`crate::Builder`] methods that support regular |
2 | /// expressions in their input. |
3 | macro_rules! regex_option { |
4 | ($(#[$attrs:meta])* pub fn $($tokens:tt)*) => { |
5 | $(#[$attrs])* |
6 | /// |
7 | /// Regular expressions are supported. Check the [regular expression |
8 | /// arguments](./struct.Builder.html#regular-expression-arguments) section and the |
9 | /// [regex](https://docs.rs/regex) crate documentation for further information. |
10 | pub fn $($tokens)* |
11 | }; |
12 | } |
13 | |
14 | /// Helper macro to set the default value of each option. |
15 | /// |
16 | /// This macro is an internal implementation detail of the `options` macro and should not be used |
17 | /// directly. |
18 | macro_rules! default { |
19 | () => { |
20 | Default::default() |
21 | }; |
22 | ($expr:expr) => { |
23 | $expr |
24 | }; |
25 | } |
26 | |
27 | /// Helper macro to set the conversion to CLI arguments for each option. |
28 | /// |
29 | /// This macro is an internal implementation detail of the `options` macro and should not be used |
30 | /// directly. |
31 | macro_rules! as_args { |
32 | ($flag:literal) => { |
33 | |field, args| AsArgs::as_args(field, args, $flag) |
34 | }; |
35 | ($expr:expr) => { |
36 | $expr |
37 | }; |
38 | } |
39 | |
40 | /// Helper function to ignore an option when converting it into CLI arguments. |
41 | /// |
42 | /// This function is only used inside `options` and should not be used in other contexts. |
43 | pub(super) fn ignore<T>(_: &T, _: &mut Vec<String>) {} |
44 | |