blue_build_utils/
macros.rs

1/// Easily create a `String`.
2#[macro_export]
3macro_rules! string {
4    ($str:expr) => {
5        String::from($str)
6    };
7}
8
9/// Easily create a `Cow<'_, str>`.
10#[macro_export]
11macro_rules! cowstr {
12    ($str:expr) => {
13        ::std::borrow::Cow::<'_, str>::from($str)
14    };
15}
16
17/// Easily create a `Vec<String>`.
18/// Uses the same syntax as `vec![]`.
19#[macro_export]
20macro_rules! string_vec {
21    ($($string:expr),* $(,)?) => {
22        {
23            vec![
24                $($crate::string!($string),)*
25            ]
26        }
27    };
28}
29
30/// Easily create a `Vec<Cow<'_, str>>`.
31/// Uses the same syntax as `vec![]`.
32#[macro_export]
33macro_rules! cowstr_vec {
34    ($($string:expr),* $(,)?) => {
35        {
36            vec![
37                $($crate::cowstr!($string),)*
38            ]
39        }
40    };
41}