getargs-derive-macros 0.1.0

Internal implementation detail of getargs-derive. Not meant for direct use; depend on getargs-derive instead.
Documentation
use super::RawField;
use crate::model::attr::{parse_string, set_once};
use syn::meta::ParseNestedMeta;

pub(super) fn help(meta: &ParseNestedMeta, raw: &mut RawField) -> syn::Result<()> {
    let literal = parse_string(meta, "help", "help = \"Print more output\"")?;
    set_once(&mut raw.help, literal.value(), meta)
}

pub(super) fn value_name(meta: &ParseNestedMeta, raw: &mut RawField) -> syn::Result<()> {
    let literal = parse_string(meta, "value_name", "value_name = \"FILE\"")?;
    let value = literal.value();
    if value.is_empty() || value.contains(char::is_whitespace) {
        return Err(syn::Error::new(
            literal.span(),
            "`value_name` cannot be empty or contain whitespace",
        ));
    }
    set_once(&mut raw.value_name, (value, literal.span()), meta)
}