#string #transform #lower-case #upper-case #list #character #cases

nightly macro choice_nocase

Transforms a string as a list of strings separated by | where all combinations of character cases are generated. By construction first one is fully uppercase, second one is fully lowercase.

3 unstable releases

0.2.0 Nov 4, 2023
0.1.2 Oct 10, 2023
0.1.1 Oct 10, 2023

#1686 in Procedural macros

43 downloads per month

MIT license

7KB
91 lines

Transforms a string as a list of strings separated by `|`` where all combinations of character cases are generated. By construction first one is fully uppercase, second one is fully lowercase.

The following call:

match value.as_ref() {
	choice_nocase!("hi") => println!("good"),
	_ => println!("bad")
};

corresponds to a similar macro expansion:

match value.as_ref() {
	"HI" | "hi" | "Hi" | "hI" => println!("good"),
	_ => println!("bad")
};

Dependencies

~315–750KB
~18K SLoC