1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
use proc_macro2::TokenStream;
use quote::quote;

pub(crate) trait StringExt {
    fn as_docs(&self) -> TokenStream;
}

impl StringExt for str {
    fn as_docs(&self) -> TokenStream {
        let lines = self.lines();
        quote! {
            #( #[doc = #lines] )*
        }
    }
}