Add placeholder doc comments to macro-generated enums (#2872)

* Add placeholder doc comments to macro-generate enums

* Add doc comments to generated router parse error enums

---------

Co-authored-by: Evan Almloff <evanalmloff@gmail.com>
This commit is contained in:
Drew Pirrone-BrusseandEvan Almloff authored and GitHub committed 2024-08-26 08:26:46 -05:00
1 parent eac7f65551
commit a575a425e3
5 files changed
+79 -13

No files matched your search

+32 -3
View File
@@ -642,8 +642,17 @@ impl RouteEnum {
let error_name = route.error_ident();
let route_str = &route.route;
let comment = format!(
" An error that can occur when trying to parse the route [`{}::{}`] ('{}').",
self.name,
route_name,
route_str
);
error_variants.push(quote! { #route_name(#error_name) });
error_variants.push(quote! {
#[doc = #comment]
#route_name(#error_name)
});
display_match.push(quote! { Self::#route_name(err) => write!(f, "Route '{}' ('{}') did not match:\n{}", stringify!(#route_name), #route_str, err)? });
type_defs.push(route.error_type());
}
@@ -651,8 +660,15 @@ impl RouteEnum {
let error_variant = redirect.error_variant();
let error_name = redirect.error_ident();
let route_str = &redirect.route;
let comment = format!(
" An error that can occur when trying to parse the redirect '{}'.",
route_str.value()
);
error_variants.push(quote! { #error_variant(#error_name) });
error_variants.push(quote! {
#[doc = #comment]
#error_variant(#error_name)
});
display_match.push(quote! { Self::#error_variant(err) => write!(f, "Redirect '{}' ('{}') did not match:\n{}", stringify!(#error_name), #route_str, err)? });
type_defs.push(redirect.error_type());
}
@@ -663,15 +679,28 @@ impl RouteEnum {
let error_variant = nest.error_variant();
let error_name = nest.error_ident();
let route_str = &nest.route;
let comment = format!(
" An error that can occur when trying to parse the nested segment {} ('{}').",
error_name, route_str
);
error_variants.push(quote! { #error_variant(#error_name) });
error_variants.push(quote! {
#[doc = #comment]
#error_variant(#error_name)
});
display_match.push(quote! { Self::#error_variant(err) => write!(f, "Nest '{}' ('{}') did not match:\n{}", stringify!(#error_name), #route_str, err)? });
type_defs.push(nest.error_type());
}
let comment = format!(
" An error that can occur when trying to parse the route enum [`{}`].",
self.name
);
quote! {
#(#type_defs)*
#[doc = #comment]
#[allow(non_camel_case_types)]
#[allow(clippy::derive_partial_eq_without_eq)]
pub enum #match_error_name {