1 use config::Config;
2 #[derive(Debug, Default, serde_derive::Deserialize, PartialEq)]
3 struct AppConfig {
4     list: Vec<String>,
5 }
6 
main()7 fn main() {
8     std::env::set_var("APP_LIST", "Hello World");
9 
10     let config = Config::builder()
11         .add_source(
12             config::Environment::with_prefix("APP")
13                 .try_parsing(true)
14                 .separator("_")
15                 .list_separator(" "),
16         )
17         .build()
18         .unwrap();
19 
20     let app: AppConfig = config.try_deserialize().unwrap();
21 
22     assert_eq!(app.list, vec![String::from("Hello"), String::from("World")]);
23 
24     std::env::remove_var("APP_LIST");
25 }
26