diff --git a/cmd/cmd.go b/cmd/cmd.go index c4d4109..b29b86e 100644 --- a/cmd/cmd.go +++ b/cmd/cmd.go @@ -50,7 +50,7 @@ func Spray() { } if option.Format != "" { - internal.Format(option.Format) + internal.Format(option.Format, !option.NoColor) os.Exit(0) } diff --git a/internal/format.go b/internal/format.go index 12fbab9..40b1d3b 100644 --- a/internal/format.go +++ b/internal/format.go @@ -6,10 +6,18 @@ import ( "github.com/chainreactors/logs" "github.com/chainreactors/spray/pkg" "io/ioutil" + "os" ) -func Format(filename string) { - content, err := ioutil.ReadFile(filename) +func Format(filename string, color bool) { + var content []byte + var err error + if filename == "stdin" { + content, err = ioutil.ReadAll(os.Stdin) + } else { + content, err = ioutil.ReadFile(filename) + } + if err != nil { return } @@ -24,6 +32,10 @@ func Format(filename string) { results = append(results, &result) } for _, result := range results { - logs.Log.Info(result.String()) + if color { + logs.Log.Info(result.ColorString()) + } else { + logs.Log.Info(result.String()) + } } }