From 41b94d7ec86a61aebf70e57ad965c2c794c97ed3 Mon Sep 17 00:00:00 2001 From: dw1 Date: Mon, 29 Jun 2020 15:37:02 +0700 Subject: [PATCH] :zap: Add color mode --- main.go | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/main.go b/main.go index 81a19e6..dcf395a 100644 --- a/main.go +++ b/main.go @@ -29,6 +29,9 @@ func main() { var dumpMode bool flag.BoolVar(&dumpMode, "dump", false, "prints the grep command rather than executing it") + var colorMode bool + flag.BoolVar(&colorMode, "color", false, "display color-highlighting the matches in output") + flag.Parse() if listMode { @@ -98,15 +101,22 @@ func main() { } else { var cmd *exec.Cmd + colorVal := "--color=" operator := "grep" if pat.Engine != "" { operator = pat.Engine } + if colorMode { + colorVal += "always" + } else { + colorVal += "never" + } + if stdinIsPipe() { - cmd = exec.Command(operator, pat.Flags, pat.Pattern) + cmd = exec.Command(operator, pat.Flags, pat.Pattern, colorVal) } else { - cmd = exec.Command(operator, pat.Flags, pat.Pattern, files) + cmd = exec.Command(operator, pat.Flags, pat.Pattern, colorVal, files) } cmd.Stdin = os.Stdin cmd.Stdout = os.Stdout