mir/
doc.rs

1use proc_macro2::TokenStream;
2use quote::quote;
3
4#[derive(Debug, Clone, Default)]
5pub struct Doc(pub String);
6
7impl Into<Doc> for &str {
8    fn into(self) -> Doc {
9        Doc(self.to_string())
10    }
11}
12
13pub enum DocFormat {
14    Markdown,
15    Rst,
16}
17
18impl quote::ToTokens for Doc {
19    fn to_tokens(&self, tokens: &mut TokenStream) {
20        let doc = self.0.trim();
21        tokens.extend(quote!(#[doc = #doc]));
22    }
23}