1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
#![no_std] #![no_implicit_prelude] /// Create a multiline string literal. /// /// **Example:** /// /// ``` /// # #![no_implicit_prelude] /// # use ::std::assert_eq; /// use text_block_macros::text_block; /// let text = text_block! { /// "abc" /// "def" /// "ghi" /// }; /// assert_eq!(text, "abc\ndef\nghi"); /// ``` #[macro_export] macro_rules! text_block { () => { "" }; ($line:literal) => { $line }; ($head:literal $($tail:literal)*) => { ::std::concat!($head, "\n", $crate::text_block!($($tail)*)) }; } /// Create a multiline string literal with a trailing newline. /// /// **Example:** /// /// ``` /// # #![no_implicit_prelude] /// # use ::std::assert_eq; /// use text_block_macros::text_block_fnl; /// let text = text_block_fnl! { /// "abc" /// "def" /// "ghi" /// }; /// assert_eq!(text, "abc\ndef\nghi\n"); /// ``` #[macro_export] macro_rules! text_block_fnl { ($($line:literal)*) => { ::std::concat!( $crate::text_block!($($line)*), "\n", ) }; }