@@ -77,13 +77,11 @@ impl Config {
77
77
let config_paths = load_config_paths ( & config_filenames) ;
78
78
let config_files = load_all_config_files ( & config_paths, & legacy_files) ?;
79
79
80
- let repo_urls = config_files. values ( ) . flat_map ( |cf| cf. plugins ( ) ) . collect ( ) ;
81
-
82
80
let config = Self {
83
- aliases : load_aliases ( & config_files) ,
81
+ aliases : load_aliases ( & config_files) ? ,
84
82
project_root : get_project_root ( & config_files) ,
83
+ repo_urls : load_plugins ( & config_files) ?,
85
84
config_files,
86
- repo_urls,
87
85
..Default :: default ( )
88
86
} ;
89
87
@@ -603,18 +601,28 @@ fn parse_config_file(
603
601
}
604
602
}
605
603
606
- fn load_aliases ( config_files : & ConfigMap ) -> AliasMap {
604
+ fn load_aliases ( config_files : & ConfigMap ) -> Result < AliasMap > {
607
605
let mut aliases: AliasMap = AliasMap :: new ( ) ;
608
606
609
607
for config_file in config_files. values ( ) {
610
- for ( plugin, plugin_aliases) in config_file. aliases ( ) {
608
+ for ( plugin, plugin_aliases) in config_file. aliases ( ) ? {
611
609
for ( from, to) in plugin_aliases {
612
610
aliases. entry ( plugin. clone ( ) ) . or_default ( ) . insert ( from, to) ;
613
611
}
614
612
}
615
613
}
616
614
617
- aliases
615
+ Ok ( aliases)
616
+ }
617
+
618
+ fn load_plugins ( config_files : & ConfigMap ) -> Result < HashMap < String , String > > {
619
+ let mut plugins = HashMap :: new ( ) ;
620
+ for config_file in config_files. values ( ) {
621
+ for ( plugin, url) in config_file. plugins ( ) ? {
622
+ plugins. insert ( plugin. clone ( ) , url. clone ( ) ) ;
623
+ }
624
+ }
625
+ Ok ( plugins)
618
626
}
619
627
620
628
impl Debug for Config {
0 commit comments