@@ -25,6 +25,25 @@ public static async Task<List<PluginPair>> PluginsAsync(List<PluginMetadata> met
2525        { 
2626            var  dotnetPlugins  =  DotNetPlugins ( metadatas ) ; 
2727
28+             await  Task . WhenAll ( dotnetPlugins ) ; 
29+ 
30+             if  ( ! ErroredPlugins . IsEmpty ) 
31+             { 
32+                 var  errorPluginString  =  String . Join ( Environment . NewLine ,  ErroredPlugins ) ; 
33+ 
34+                 var  errorMessage  =  "The following " 
35+                                    +  ( ErroredPlugins . Count  >  1  ?  "plugins have "  :  "plugin has " ) 
36+                                    +  "errored and cannot be loaded:" ; 
37+ 
38+                 _  =  Task . Run ( ( )  => 
39+                 { 
40+                     MessageBox . Show ( $ "{ errorMessage } { Environment . NewLine } { Environment . NewLine } "  + 
41+                                     $ "{ errorPluginString } { Environment . NewLine } { Environment . NewLine } "  + 
42+                                     $ "Please refer to the logs for more information",  "" , 
43+                         MessageBoxButtons . OK ,  MessageBoxIcon . Warning ) ; 
44+                 } ) ; 
45+             } 
46+ 
2847            var  pythonEnv  =  new  PythonEnvironment ( metadatas ,  settings ) ; 
2948            var  pythonV2Env  =  new  PythonV2Environment ( metadatas ,  settings ) ; 
3049            var  tsEnv  =  new  TypeScriptEnvironment ( metadatas ,  settings ) ; 
@@ -41,8 +60,7 @@ public static async Task<List<PluginPair>> PluginsAsync(List<PluginMetadata> met
4160            var  executablePlugins  =  ExecutablePlugins ( metadatas ) ; 
4261            var  executableV2Plugins  =  ExecutableV2Plugins ( metadatas ) ; 
4362
44-             var  plugins  =  dotnetPlugins 
45-                 . Concat ( pythonPlugins ) 
63+             var  plugins  =  pythonPlugins 
4664                . Concat ( pythonV2Plugins ) 
4765                . Concat ( tsPlugins ) 
4866                . Concat ( jsPlugins ) 
@@ -52,26 +70,9 @@ public static async Task<List<PluginPair>> PluginsAsync(List<PluginMetadata> met
5270                . Concat ( executableV2Plugins ) 
5371                . ToList ( ) ; 
5472
55-             await  Task . WhenAll ( plugins ) ; 
56- 
57-             if  ( ! ErroredPlugins . IsEmpty ) 
58-             { 
59-                 var  errorPluginString  =  String . Join ( Environment . NewLine ,  ErroredPlugins ) ; 
60- 
61-                 var  errorMessage  =  "The following " 
62-                                    +  ( ErroredPlugins . Count  >  1  ?  "plugins have "  :  "plugin has " ) 
63-                                    +  "errored and cannot be loaded:" ; 
64- 
65-                 _  =  Task . Run ( ( )  => 
66-                 { 
67-                     MessageBox . Show ( $ "{ errorMessage } { Environment . NewLine } { Environment . NewLine } "  + 
68-                                     $ "{ errorPluginString } { Environment . NewLine } { Environment . NewLine } "  + 
69-                                     $ "Please refer to the logs for more information",  "" , 
70-                         MessageBoxButtons . OK ,  MessageBoxIcon . Warning ) ; 
71-                 } ) ; 
72-             } 
73+             var  pluginPairs  =  await  Task . WhenAll ( plugins ) ; 
7374
74-             return  Plugins . ToList ( ) ; 
75+             return  Plugins . Concat ( pluginPairs ) . ToList ( ) ; 
7576        } 
7677
7778        public  static   IEnumerable < Task >  DotNetPlugins ( List < PluginMetadata >  source ) 
@@ -132,7 +133,7 @@ public static IEnumerable<Task> DotNetPlugins(List<PluginMetadata> source)
132133            } ) ) ; 
133134        } 
134135
135-         public  static   IEnumerable < Task >  ExecutablePlugins ( IEnumerable < PluginMetadata >  source ) 
136+         public  static   IEnumerable < Task < PluginPair > >  ExecutablePlugins ( IEnumerable < PluginMetadata >  source ) 
136137        { 
137138            return  source 
138139                . Where ( o =>  o . Language . Equals ( AllowedLanguage . Executable ,  StringComparison . OrdinalIgnoreCase ) ) 
@@ -146,7 +147,7 @@ public static IEnumerable<Task> ExecutablePlugins(IEnumerable<PluginMetadata> so
146147                } ) ) ; 
147148        } 
148149
149-         public  static   IEnumerable < Task >  ExecutableV2Plugins ( IEnumerable < PluginMetadata >  source ) 
150+         public  static   IEnumerable < Task < PluginPair > >  ExecutableV2Plugins ( IEnumerable < PluginMetadata >  source ) 
150151        { 
151152            return  source 
152153                . Where ( o =>  o . Language . Equals ( AllowedLanguage . ExecutableV2 ,  StringComparison . OrdinalIgnoreCase ) ) 
0 commit comments