@@ -265,33 +265,35 @@ func (m *Manager) ResolveVersion(sdkName string, version base.Version) base.Vers
265265 return version
266266}
267267
268- func (m * Manager ) LookupSdkWithInstall (name string ) (* Sdk , error ) {
268+ func (m * Manager ) LookupSdkWithInstall (name string , autoConfirm bool ) (* Sdk , error ) {
269269 source , err := m .LookupSdk (name )
270270 if err != nil {
271271 if errors .As (err , & NotFoundError {}) {
272- fmt .Printf ("[%s] not added yet, confirm that you want to use [%s]? \n " , pterm .LightBlue (name ), pterm .LightRed (name ))
273- if result , _ := pterm .DefaultInteractiveConfirm .
274- WithTextStyle (& pterm .ThemeDefault .DefaultText ).
275- WithConfirmStyle (& pterm .ThemeDefault .DefaultText ).
276- WithRejectStyle (& pterm .ThemeDefault .DefaultText ).
277- WithDefaultText ("Please confirm" ).
278- Show (); result {
279-
280- manifest , err := m .fetchPluginManifest (m .GetRegistryAddress (name + ".json" ))
281- if err != nil {
282- if errors .Is (err , ManifestNotFound ) {
283- return nil , fmt .Errorf ("[%s] not found in remote registry, please check the name" , pterm .LightRed (name ))
284- }
285- return nil , err
272+ if autoConfirm {
273+ fmt .Printf ("[%s] not added yet, automatically proceeding with installation.\n " , pterm .LightBlue (name ))
274+ } else {
275+ fmt .Printf ("[%s] not added yet, confirm that you want to use [%s]? \n " , pterm .LightBlue (name ), pterm .LightRed (name ))
276+ result , _ := pterm .DefaultInteractiveConfirm .
277+ WithTextStyle (& pterm .ThemeDefault .DefaultText ).
278+ WithConfirmStyle (& pterm .ThemeDefault .DefaultText ).
279+ WithRejectStyle (& pterm .ThemeDefault .DefaultText ).
280+ WithDefaultText ("Please confirm" ).
281+ Show ()
282+ if ! result {
283+ return nil , cli .Exit ("" , 1 )
286284 }
287-
288- if err = m .Add (manifest .Name , manifest .DownloadUrl , "" ); err != nil {
289- return nil , err
285+ }
286+ manifest , err := m .fetchPluginManifest (m .GetRegistryAddress (name + ".json" ))
287+ if err != nil {
288+ if errors .Is (err , ManifestNotFound ) {
289+ return nil , fmt .Errorf ("[%s] not found in remote registry, please check the name" , pterm .LightRed (name ))
290290 }
291- return m .LookupSdk (manifest .Name )
292- } else {
293- return nil , cli .Exit ("" , 1 )
291+ return nil , err
292+ }
293+ if err = m .Add (manifest .Name , manifest .DownloadUrl , "" ); err != nil {
294+ return nil , err
294295 }
296+ return m .LookupSdk (manifest .Name )
295297 }
296298 return nil , fmt .Errorf ("%s not supported, error: %w" , name , err )
297299 } else {
0 commit comments