@@ -40,18 +40,29 @@ func init() {
4040}
4141
4242func runInit (cmd * cobra.Command , args []string ) error {
43- interactive , _ := cmd .Flags ().GetBool ("interactive" )
44- force , _ := cmd .Flags ().GetBool ("force" )
45- template , _ := cmd .Flags ().GetString ("template" )
46- output , _ := cmd .Flags ().GetString ("output" )
43+ interactive , err := cmd .Flags ().GetBool ("interactive" )
44+ if err != nil {
45+ return fmt .Errorf ("failed to get interactive flag: %w" , err )
46+ }
47+ force , err := cmd .Flags ().GetBool ("force" )
48+ if err != nil {
49+ return fmt .Errorf ("failed to get force flag: %w" , err )
50+ }
51+ template , err := cmd .Flags ().GetString ("template" )
52+ if err != nil {
53+ return fmt .Errorf ("failed to get template flag: %w" , err )
54+ }
55+ output , err := cmd .Flags ().GetString ("output" )
56+ if err != nil {
57+ return fmt .Errorf ("failed to get output flag: %w" , err )
58+ }
4759
4860 // Check if config file already exists
49- if _ , err := os .Stat (output ); err == nil && ! force {
61+ if _ , statErr := os .Stat (output ); statErr == nil && ! force {
5062 return fmt .Errorf ("configuration file %s already exists. Use --force to overwrite" , output )
5163 }
5264
5365 var cfg * types.Config
54- var err error
5566
5667 if interactive {
5768 cfg , err = createInteractiveConfig ()
@@ -182,7 +193,10 @@ func createInteractiveConfig() (*types.Config, error) {
182193
183194func promptString (reader * bufio.Reader , prompt , defaultValue string ) string {
184195 fmt .Printf ("%s [%s]: " , prompt , defaultValue )
185- input , _ := reader .ReadString ('\n' )
196+ input , err := reader .ReadString ('\n' )
197+ if err != nil {
198+ return defaultValue
199+ }
186200 input = strings .TrimSpace (input )
187201 if input == "" {
188202 return defaultValue
@@ -197,7 +211,10 @@ func promptBool(reader *bufio.Reader, prompt string, defaultValue bool) bool {
197211 }
198212
199213 fmt .Printf ("%s (y/n) [%s]: " , prompt , defaultStr )
200- input , _ := reader .ReadString ('\n' )
214+ input , err := reader .ReadString ('\n' )
215+ if err != nil {
216+ return defaultValue
217+ }
201218 input = strings .TrimSpace (strings .ToLower (input ))
202219
203220 if input == "" {
@@ -209,7 +226,10 @@ func promptBool(reader *bufio.Reader, prompt string, defaultValue bool) bool {
209226
210227func promptInt (reader * bufio.Reader , prompt string , defaultValue int ) int {
211228 fmt .Printf ("%s [%d]: " , prompt , defaultValue )
212- input , _ := reader .ReadString ('\n' )
229+ input , err := reader .ReadString ('\n' )
230+ if err != nil {
231+ return defaultValue
232+ }
213233 input = strings .TrimSpace (input )
214234
215235 if input == "" {
@@ -225,7 +245,10 @@ func promptInt(reader *bufio.Reader, prompt string, defaultValue int) int {
225245
226246func promptChoice (reader * bufio.Reader , prompt string , choices []string , defaultValue string ) string {
227247 fmt .Printf ("%s (%s) [%s]: " , prompt , strings .Join (choices , "/" ), defaultValue )
228- input , _ := reader .ReadString ('\n' )
248+ input , err := reader .ReadString ('\n' )
249+ if err != nil {
250+ return defaultValue
251+ }
229252 input = strings .TrimSpace (input )
230253
231254 if input == "" {
@@ -244,7 +267,10 @@ func promptChoice(reader *bufio.Reader, prompt string, choices []string, default
244267
245268func promptPassword (reader * bufio.Reader , prompt string ) string {
246269 fmt .Printf ("%s: " , prompt )
247- input , _ := reader .ReadString ('\n' )
270+ input , err := reader .ReadString ('\n' )
271+ if err != nil {
272+ return ""
273+ }
248274 return strings .TrimSpace (input )
249275}
250276
0 commit comments