@@ -2,84 +2,32 @@ use anyhow::{bail, Result};
22use std:: path:: { Path , PathBuf } ;
33
44#[ cfg_attr( feature = "serde" , derive( serde:: Deserialize ) ) ]
5- #[ derive( Clone , PartialEq , Eq , Debug ) ]
5+ #[ derive( Clone , PartialEq , Eq , Debug , Default ) ]
6+ #[ cfg_attr( feature = "serde" , serde( default ) ) ]
67pub struct Config {
7- #[ cfg_attr( feature = "serde" , serde( default ) ) ]
88 pub target : Target ,
9- #[ cfg_attr( feature = "serde" , serde( default ) ) ]
109 pub atomics : bool ,
11- #[ cfg_attr( feature = "serde" , serde( default ) ) ]
1210 pub atomics_feature : Option < String > ,
13- #[ cfg_attr( feature = "serde" , serde( default ) ) ]
1411 pub generic_mod : bool ,
15- #[ cfg_attr( feature = "serde" , serde( default ) ) ]
1612 pub make_mod : bool ,
17- #[ cfg_attr( feature = "serde" , serde( default ) ) ]
1813 pub ignore_groups : bool ,
19- #[ cfg_attr( feature = "serde" , serde( default ) ) ]
2014 pub keep_list : bool ,
21- #[ cfg_attr( feature = "serde" , serde( default ) ) ]
2215 pub strict : bool ,
23- #[ cfg_attr( feature = "serde" , serde( default ) ) ]
2416 pub pascal_enum_values : bool ,
25- #[ cfg_attr( feature = "serde" , serde( default ) ) ]
2617 pub feature_group : bool ,
27- #[ cfg_attr( feature = "serde" , serde( default ) ) ]
2818 pub feature_peripheral : bool ,
29- #[ cfg_attr( feature = "serde" , serde( default ) ) ]
3019 pub max_cluster_size : bool ,
31- #[ cfg_attr( feature = "serde" , serde( default ) ) ]
3220 pub impl_debug : bool ,
33- #[ cfg_attr( feature = "serde" , serde( default ) ) ]
3421 pub impl_debug_feature : Option < String > ,
35- #[ cfg_attr( feature = "serde" , serde( default = "current_dir" ) ) ]
36- pub output_dir : PathBuf ,
37- #[ cfg_attr( feature = "serde" , serde( default ) ) ]
22+ pub output_dir : Option < PathBuf > ,
3823 pub input : Option < PathBuf > ,
39- #[ cfg_attr( feature = "serde" , serde( default ) ) ]
4024 pub source_type : SourceType ,
41- #[ cfg_attr( feature = "serde" , serde( default ) ) ]
4225 pub log_level : Option < String > ,
43- #[ cfg_attr( feature = "serde" , serde( default ) ) ]
4426 pub interrupt_link_section : Option < String > ,
45- #[ cfg_attr( feature = "serde" , serde( default ) ) ]
4627 pub reexport_core_peripherals : bool ,
47- #[ cfg_attr( feature = "serde" , serde( default ) ) ]
4828 pub reexport_interrupt : bool ,
4929}
5030
51- fn current_dir ( ) -> PathBuf {
52- PathBuf :: from ( "." )
53- }
54-
55- impl Default for Config {
56- fn default ( ) -> Self {
57- Self {
58- target : Target :: default ( ) ,
59- atomics : false ,
60- atomics_feature : None ,
61- generic_mod : false ,
62- make_mod : false ,
63- ignore_groups : false ,
64- keep_list : false ,
65- strict : false ,
66- pascal_enum_values : false ,
67- feature_group : false ,
68- feature_peripheral : false ,
69- max_cluster_size : false ,
70- impl_debug : false ,
71- impl_debug_feature : None ,
72- output_dir : current_dir ( ) ,
73- input : None ,
74- source_type : SourceType :: default ( ) ,
75- log_level : None ,
76- interrupt_link_section : None ,
77- reexport_core_peripherals : false ,
78- reexport_interrupt : false ,
79- }
80- }
81- }
82-
8331#[ allow( clippy:: upper_case_acronyms) ]
8432#[ allow( non_camel_case_types) ]
8533#[ cfg_attr( feature = "serde" , derive( serde:: Deserialize ) ) ]
0 commit comments