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}