@@ -258,7 +258,7 @@ func replaceTempFilename(diff []byte, filename string) ([]byte, error) {
258
258
func visitFile (set * FlagSet ) filepath.WalkFunc {
259
259
return func (path string , f os.FileInfo , err error ) error {
260
260
if err == nil && isGoFile (f ) {
261
- err = processFile (path , os .Stdout , set )
261
+ err = processFile (path , nil , os .Stdout , set )
262
262
}
263
263
return err
264
264
}
@@ -274,20 +274,23 @@ func isGoFile(f os.FileInfo) bool {
274
274
return ! f .IsDir () && ! strings .HasPrefix (name , "." ) && strings .HasSuffix (name , ".go" )
275
275
}
276
276
277
- func ProcessFile (filename string , out io.Writer , set * FlagSet ) error {
278
- return processFile (filename , out , set )
277
+ func ProcessFile (filename string , in io. Reader , out io.Writer , set * FlagSet ) error {
278
+ return processFile (filename , in , out , set )
279
279
}
280
280
281
- func processFile (filename string , out io.Writer , set * FlagSet ) error {
281
+ func processFile (filename string , in io. Reader , out io.Writer , set * FlagSet ) error {
282
282
var err error
283
283
284
- f , err := os .Open (filename )
285
- if err != nil {
286
- return err
284
+ if in == nil {
285
+ f , err := os .Open (filename )
286
+ if err != nil {
287
+ return err
288
+ }
289
+ defer f .Close ()
290
+ in = f
287
291
}
288
- defer f .Close ()
289
292
290
- src , err := ioutil .ReadAll (f )
293
+ src , err := ioutil .ReadAll (in )
291
294
if err != nil {
292
295
return err
293
296
}
0 commit comments