Generate rustdocs from .proto file comments (#10)
* generate rustdoc comments from .proto file comments * move imports to top of file
This commit is contained in:
committed by
Lucio Franco
parent
646796f248
commit
36d0b1cb04
@@ -1,3 +1,4 @@
|
||||
use crate::generate_doc_comments;
|
||||
use proc_macro2::TokenStream;
|
||||
use prost_build::{Method, Service};
|
||||
use quote::{format_ident, quote};
|
||||
@@ -8,8 +9,10 @@ pub(crate) fn generate(service: &Service, proto: &str) -> TokenStream {
|
||||
let methods = generate_methods(service, proto);
|
||||
|
||||
let connect = generate_connect(&service_ident);
|
||||
let service_doc = generate_doc_comments(&service.comments.leading);
|
||||
|
||||
quote! {
|
||||
#service_doc
|
||||
pub struct #service_ident<T> {
|
||||
inner: tonic::client::Grpc<T>,
|
||||
}
|
||||
@@ -75,6 +78,8 @@ fn generate_methods(service: &Service, proto: &str) -> TokenStream {
|
||||
service.package, service.proto_name, method.proto_name
|
||||
);
|
||||
|
||||
stream.extend(generate_doc_comments(&method.comments.leading));
|
||||
|
||||
let method = match (method.client_streaming, method.server_streaming) {
|
||||
(false, false) => generate_unary(method, &proto, path),
|
||||
(false, true) => generate_server_streaming(method, &proto, path),
|
||||
|
||||
Reference in New Issue
Block a user