declarative-env 0.1.0

This crate parses and populates a struct with the environmental variables defined in a file, for having the documentation and the code always synchronized.
Documentation
use syn::{parse::Parse, Ident, Token, Visibility};

pub struct EmptyStruct {
    visibility: Visibility,
    struct_name: String,
}

impl EmptyStruct {
    pub fn visibility(&self) -> &Visibility {
        &self.visibility
    }

    pub fn struct_name(&self) -> &str {
        &self.struct_name
    }
}

impl Parse for EmptyStruct {
    fn parse(input: syn::parse::ParseStream) -> syn::Result<Self> {
        let struct_visibility: Visibility = input.parse()?;
        let _struct_keyword: Token![struct] = input.parse()?;
        let struct_name: Ident = input.parse()?;
        let _semicolon: Token![;] = input.parse()?;

        Ok(EmptyStruct {
            visibility: struct_visibility,
            struct_name: struct_name.to_string(),
        })
    }
}