@@ -74,6 +74,9 @@ func (s *Stage) New() (bool, error) {
74
74
}
75
75
}
76
76
stage , err := s .chooseCreateStage ()
77
+ if err == promptui .ErrInterrupt {
78
+ return false , nil
79
+ }
77
80
if err != nil {
78
81
return false , log .Wrap (err )
79
82
}
@@ -96,18 +99,29 @@ func (s *Stage) New() (bool, error) {
96
99
97
100
func (s * Stage ) chooseCreateStage () (* domain.Stage , error ) {
98
101
stageName := s .Stage
102
+ var err error
99
103
if stageName == "" {
100
- stageName , _ = promptStageName ()
104
+ stageName , err = promptStageName ()
105
+ if err == promptui .ErrInterrupt {
106
+ return nil , nil
107
+ }
108
+ if err != nil {
109
+ return nil , log .Wrap (err )
110
+ }
111
+
101
112
}
102
113
for {
103
114
stage , err := s .project .NewStage (stageName , s .Node , s .store .ProjectRoot ())
104
115
var see * domain.StageExistsError
105
116
if errors .As (err , & see ) {
106
117
ui .Info ("Stage %s already exists" , stageName )
107
118
stageName , err = promptStageName ()
108
- if err != nil {
119
+ if err == promptui . ErrInterrupt {
109
120
return nil , nil
110
121
}
122
+ if err != nil {
123
+ return nil , log .Wrap (err )
124
+ }
111
125
continue
112
126
}
113
127
if err != nil {
@@ -119,8 +133,7 @@ func (s *Stage) chooseCreateStage() (*domain.Stage, error) {
119
133
120
134
func promptStageName () (string , error ) {
121
135
prompt := promptui.Prompt {
122
- Label : "Please specify a new stage name to continue" ,
123
- Default : domain .DefaultStageName ,
136
+ Label : "Please specify a new stage name to continue" ,
124
137
}
125
138
stage , err := prompt .Run ()
126
139
return stage , err
0 commit comments