doc_macro/
lib.rs

1mod example;
2mod generated_doc;
3
4use proc_macro::TokenStream;
5
6/// Includes the type's JSON example generated by doc-file-generator as a string.
7/// Convenience alias for #[cfg_attr(doc, doc = generated_docs!(MyType))]
8#[proc_macro_attribute]
9pub fn generated_doc(attr: TokenStream, item: TokenStream) -> TokenStream {
10    generated_doc::generated_doc_impl(attr, item)
11}
12
13#[proc_macro_attribute]
14pub fn generated_doc_inner(attr: TokenStream, item: TokenStream) -> TokenStream {
15    generated_doc::generated_doc_inner_impl(attr, item)
16}
17
18/// Accepts a struct or enum literal and generates an Example impl for the type.
19#[proc_macro]
20#[track_caller]
21pub fn example(input: TokenStream) -> TokenStream {
22    example::example_impl(input)
23}