@@ -328,26 +328,27 @@ func processFile(filename string, out io.Writer, set *FlagSet) error {
328328 return err
329329}
330330
331- func Run(filename string, set *FlagSet) ([]byte, error) {
331+ // Run return source and result in []byte if succeed
332+ func Run(filename string, set *FlagSet) ([]byte, []byte, error) {
332333 var err error
333334
334335 f, err := os.Open(filename)
335336 if err != nil {
336- return nil, err
337+ return nil, nil, err
337338 }
338339 defer f.Close()
339340
340341 src, err := ioutil.ReadAll(f)
341342 if err != nil {
342- return nil, err
343+ return nil, nil, err
343344 }
344345
345346 ori := make([]byte, len(src))
346347 copy(ori, src)
347348 start := bytes.Index(src, importStartFlag)
348349 // in case no importStartFlag or importStartFlag exist in the commentFlag
349350 if start < 0 {
350- return nil, nil
351+ return nil, nil, nil
351352 }
352353 end := bytes.Index(src[start:], importEndFlag) + start
353354
@@ -358,13 +359,8 @@ func Run(filename string, set *FlagSet) ([]byte, error) {
358359 res := append(src[:start+len(importStartFlag)], append(p.fmt(), src[end+1:]...)...)
359360
360361 if bytes.Equal(ori, res) {
361- return nil, nil
362+ return ori, nil, nil
362363 }
363364
364- data, err := diff(ori, res, filename)
365- if err != nil {
366- return nil, fmt.Errorf("failed to diff: %v", err)
367- }
368-
369- return data, nil
365+ return ori, res, nil
370366}
0 commit comments