Skip to content

Commit

Permalink
cmd: force no color output when NO_COLOR env presents
Browse files Browse the repository at this point in the history
  • Loading branch information
narqo authored and mikefarah committed Nov 16, 2024
1 parent b8607ba commit f071a25
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 4 deletions.
15 changes: 12 additions & 3 deletions cmd/constant.go
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
package cmd

import "os"

var unwrapScalarFlag = newUnwrapFlag()

var unwrapScalar = false
Expand All @@ -12,9 +14,6 @@ var outputFormat = ""
var inputFormat = ""

var exitStatus = false
var forceColor = false
var forceNoColor = false
var colorsEnabled = false
var indent = 2
var noDocSeparators = false
var nullInput = false
Expand All @@ -23,6 +22,16 @@ var verbose = false
var version = false
var prettyPrint = false

var forceColor = false
var forceNoColor = false
var colorsEnabled = false

func init() {
// when NO_COLOR environment variable presents and not an empty string the colored output should be disabled;
// refer to no-color.org
forceNoColor = os.Getenv("NO_COLOR") != ""
}

// can be either "" (off), "extract" or "process"
var frontMatter = ""

Expand Down
2 changes: 1 addition & 1 deletion cmd/root.go
Original file line number Diff line number Diff line change
Expand Up @@ -182,7 +182,7 @@ yq -P -oy sample.json
rootCmd.PersistentFlags().BoolVarP(&exitStatus, "exit-status", "e", false, "set exit status if there are no matches or null or false is returned")

rootCmd.PersistentFlags().BoolVarP(&forceColor, "colors", "C", false, "force print with colors")
rootCmd.PersistentFlags().BoolVarP(&forceNoColor, "no-colors", "M", false, "force print with no colors")
rootCmd.PersistentFlags().BoolVarP(&forceNoColor, "no-colors", "M", forceNoColor, "force print with no colors")
rootCmd.PersistentFlags().StringVarP(&frontMatter, "front-matter", "f", "", "(extract|process) first input as yaml front-matter. Extract will pull out the yaml content, process will run the expression against the yaml content, leaving the remaining data intact")
if err = rootCmd.RegisterFlagCompletionFunc("front-matter", cobra.FixedCompletions([]string{"extract", "process"}, cobra.ShellCompDirectiveNoFileComp)); err != nil {
panic(err)
Expand Down

0 comments on commit f071a25

Please sign in to comment.