@@ -210,13 +210,13 @@ func doTemplate(t Template) ([]byte, error) {
210210
211211 // Set the template body
212212 if _ , err := temp .Parse (t .GetBody ()); err != nil {
213- return nil , err
213+ return nil , fmt . Errorf ( "failed to parse template: %w" , err )
214214 }
215215
216216 // Execute the template
217217 out := & bytes.Buffer {}
218218 if err := temp .Execute (out , t ); err != nil {
219- return nil , err
219+ return nil , fmt . Errorf ( "failed to execute template: %w" , err )
220220 }
221221 b := out .Bytes ()
222222
@@ -225,7 +225,7 @@ func doTemplate(t Template) ([]byte, error) {
225225 if filepath .Ext (t .GetPath ()) == ".go" {
226226 var err error
227227 if b , err = imports .Process (t .GetPath (), b , & options ); err != nil {
228- return nil , err
228+ return nil , fmt . Errorf ( "failed to process template: %w" , err )
229229 }
230230 }
231231
@@ -236,7 +236,7 @@ func doTemplate(t Template) ([]byte, error) {
236236func (s Scaffold ) updateFileModel (i Inserter , models map [string ]* File ) error {
237237 m , err := s .loadPreviousModel (i , models )
238238 if err != nil {
239- return err
239+ return fmt . Errorf ( "failed to load previous model: %w" , err )
240240 }
241241
242242 // Get valid code fragments
@@ -245,7 +245,7 @@ func (s Scaffold) updateFileModel(i Inserter, models map[string]*File) error {
245245 // Remove code fragments that already were applied
246246 err = filterExistingValues (m .Contents , codeFragments )
247247 if err != nil {
248- return err
248+ return fmt . Errorf ( "failed to filter existing values: %w" , err )
249249 }
250250
251251 // If no code fragment to insert, we are done
@@ -255,15 +255,15 @@ func (s Scaffold) updateFileModel(i Inserter, models map[string]*File) error {
255255
256256 content , err := insertStrings (m .Contents , codeFragments )
257257 if err != nil {
258- return err
258+ return fmt . Errorf ( "failed to insert values: %w" , err )
259259 }
260260
261261 // TODO(adirio): move go-formatting to write step
262262 formattedContent := content
263263 if ext := filepath .Ext (i .GetPath ()); ext == ".go" {
264264 formattedContent , err = imports .Process (i .GetPath (), content , nil )
265265 if err != nil {
266- return err
266+ return fmt . Errorf ( "failed to process formatted content: %w" , err )
267267 }
268268 }
269269
@@ -277,9 +277,9 @@ func (s Scaffold) updateFileModel(i Inserter, models map[string]*File) error {
277277func (s Scaffold ) loadPreviousModel (i Inserter , models map [string ]* File ) (* File , error ) {
278278 path := i .GetPath ()
279279
280- // Lets see if we already have a model for this file
280+ // Let's see if we already have a model for this file
281281 if m , found := models [path ]; found {
282- // Check if there is already an scaffolded file
282+ // Check if there is already a scaffolded file
283283 exists , err := afero .Exists (s .fs , path )
284284 if err != nil {
285285 return nil , ExistsFileError {err }
@@ -365,7 +365,7 @@ func filterExistingValues(content string, codeFragmentsMap CodeFragmentsMap) err
365365 for _ , codeFragment := range codeFragments {
366366 exists , err := codeFragmentExists (content , codeFragment )
367367 if err != nil {
368- return err
368+ return fmt . Errorf ( "failed to check if code fragment exists: %w" , err )
369369 }
370370 if ! exists {
371371 codeFragmentsOut = append (codeFragmentsOut , codeFragment )
@@ -401,8 +401,8 @@ func codeFragmentExists(content, codeFragment string) (exists bool, err error) {
401401 return true
402402 }
403403
404- if err := scanMultiline (content , scanLines , scanFunc ); err != nil {
405- return false , err
404+ if scanMultilineErr := scanMultiline (content , scanLines , scanFunc ); scanMultilineErr != nil {
405+ return false , scanMultilineErr
406406 }
407407
408408 return exists , nil
@@ -418,10 +418,19 @@ func scanMultiline(content string, scanLines int, scanFunc func(contentGroup str
418418 if scanLines == 1 {
419419 for scanner .Scan () {
420420 if ! scanFunc (strings .TrimSpace (scanner .Text ())) {
421- return scanner .Err ()
421+ if err := scanner .Err (); err != nil {
422+ return fmt .Errorf ("failed to scan content: %w" , err )
423+ }
424+
425+ return nil
422426 }
423427 }
424- return scanner .Err ()
428+
429+ if err := scanner .Err (); err != nil {
430+ return fmt .Errorf ("failed to scan content: %w" , err )
431+ }
432+
433+ return nil
425434 }
426435
427436 // Complex case.
@@ -441,11 +450,19 @@ func scanMultiline(content string, scanLines int, scanFunc func(contentGroup str
441450 }
442451
443452 if ! scanFunc (strings .TrimSpace (sb .String ())) {
444- return scanner .Err ()
453+ if err := scanner .Err (); err != nil {
454+ return fmt .Errorf ("failed to scan content: %w" , err )
455+ }
456+
457+ return nil
445458 }
446459 }
447460
448- return scanner .Err ()
461+ if err := scanner .Err (); err != nil {
462+ return fmt .Errorf ("failed to scan content: %w" , err )
463+ }
464+
465+ return nil
449466}
450467
451468func insertStrings (content string , codeFragmentsMap CodeFragmentsMap ) ([]byte , error ) {
@@ -466,13 +483,13 @@ func insertStrings(content string, codeFragmentsMap CodeFragmentsMap) ([]byte, e
466483 _ , _ = out .WriteString (line + "\n " ) // bytes.Buffer.WriteString always returns nil errors
467484 }
468485 if err := scanner .Err (); err != nil {
469- return nil , err
486+ return nil , fmt . Errorf ( "failed to scan content: %w" , err )
470487 }
471488
472489 return out .Bytes (), nil
473490}
474491
475- func (s Scaffold ) writeFile (f * File ) ( err error ) {
492+ func (s Scaffold ) writeFile (f * File ) error {
476493 // Check if the file to write already exists
477494 exists , err := afero .Exists (s .fs , f .Path )
478495 if err != nil {
@@ -507,8 +524,8 @@ func (s Scaffold) writeFile(f *File) (err error) {
507524 }
508525 }()
509526
510- if _ , err := writer .Write ([]byte (f .Contents )); err != nil {
511- return WriteFileError {err }
527+ if _ , writeErr := writer .Write ([]byte (f .Contents )); writeErr != nil {
528+ return WriteFileError {writeErr }
512529 }
513530
514531 return nil
0 commit comments