forked from mirrors/gecko-dev
		
	
		
			
				
	
	
		
			43 lines
		
	
	
	
		
			1.4 KiB
		
	
	
	
		
			Rust
		
	
	
	
	
	
			
		
		
	
	
			43 lines
		
	
	
	
		
			1.4 KiB
		
	
	
	
		
			Rust
		
	
	
	
	
	
/// Helper function that appends extra documentation to [`crate::Builder`] methods that support regular
 | 
						|
/// expressions in their input.
 | 
						|
macro_rules! regex_option {
 | 
						|
    ($(#[$attrs:meta])* pub fn $($tokens:tt)*) => {
 | 
						|
        $(#[$attrs])*
 | 
						|
        ///
 | 
						|
        /// Regular expressions are supported. Check the [regular expression
 | 
						|
        /// arguments](./struct.Builder.html#regular-expression-arguments) section and the
 | 
						|
        /// [regex](https://docs.rs/regex) crate documentation for further information.
 | 
						|
        pub fn $($tokens)*
 | 
						|
    };
 | 
						|
}
 | 
						|
 | 
						|
/// Helper macro to set the default value of each option.
 | 
						|
///
 | 
						|
/// This macro is an internal implementation detail of the `options` macro and should not be used
 | 
						|
/// directly.
 | 
						|
macro_rules! default {
 | 
						|
    () => {
 | 
						|
        Default::default()
 | 
						|
    };
 | 
						|
    ($expr:expr) => {
 | 
						|
        $expr
 | 
						|
    };
 | 
						|
}
 | 
						|
 | 
						|
/// Helper macro to set the conversion to CLI arguments for each option.
 | 
						|
///
 | 
						|
/// This macro is an internal implementation detail of the `options` macro and should not be used
 | 
						|
/// directly.
 | 
						|
macro_rules! as_args {
 | 
						|
    ($flag:literal) => {
 | 
						|
        |field, args| AsArgs::as_args(field, args, $flag)
 | 
						|
    };
 | 
						|
    ($expr:expr) => {
 | 
						|
        $expr
 | 
						|
    };
 | 
						|
}
 | 
						|
 | 
						|
/// Helper function to ignore an option when converting it into CLI arguments.
 | 
						|
///
 | 
						|
/// This function is only used inside `options` and should not be used in other contexts.
 | 
						|
pub(super) fn ignore<T>(_: &T, _: &mut Vec<String>) {}
 |