Compare commits

..
3 changed files with 966 additions and 5 deletions

970
Cargo.lock generated

File diff suppressed because it is too large Load diff

View file

@ -66,7 +66,7 @@ fn try_get(action: &Action) -> ItemFn {
envvar = syn::parse_quote!( #envvar.or_else(|| Some(::std::ffi::OsString::from(String::from(#def)))) );
}
let mut parse_input: syn::ExprIf = syn::parse_quote! {
if let Some(envvar) = #envvar && !envvar.is_empty() {
if let Some(envvar) = #envvar {
match #parser(envvar) {
Ok(ok) => #input_ident = Some(ok),
Err(error) => #errors.push((#input_lit, ::anode::InputErrorMessage::Parsing(::std::boxed::Box::new(error)))),

View file

@ -107,6 +107,9 @@ pub mod parse {
}
}
#[cfg(feature = "forge-forgejo")]
pub use forgejo_openapi as forgejo;
#[derive(Debug)]
pub struct InputError(#[doc(hidden)] pub Box<[(&'static str, InputErrorMessage)]>);