Skip to content

nali在pipe中间使用的时候输出的结果丢失颜色 #209

Description

@smiliang

nali在pipe中配合其他命令使用的时候,如果在结尾,比如 command | nali,颜色输出正常;但是如果在中间使用,会导致输出结果没有颜色,比如 command1 | nali | command2。
我大概看了一下,是因为nali使用的颜色库发现输出的设备不是Terminal就变成了无色模式,建议增加一个一直输出颜色的选项,让nali在pipe中间使用的时候也可以输出颜色。大概意思如下代码所示:

git diff

diff --git a/cmd/root.go b/cmd/root.go
--- a/cmd/root.go
+++ b/cmd/root.go
@@ -62,6 +62,10 @@ Find document on: https://github.com/zu1k/nali
        Run: func(cmd *cobra.Command, args []string) {
                gbk, _ := cmd.Flags().GetBool("gbk")
                isJson, _ := cmd.Flags().GetBool("json")
+               isAlwaysColor, _ := cmd.Flags().GetBool("alwaysColor")
+               if isAlwaysColor {
+                       color.NoColor = !isAlwaysColor
+               }
 
                if len(args) == 0 {
                        stdin := bufio.NewScanner(os.Stdin)
@@ -102,4 +106,5 @@ func Execute() {
 func init() {
        rootCmd.Flags().Bool("gbk", false, "Use GBK decoder")
        rootCmd.Flags().BoolP("json", "j", false, "Output in JSON format")
+       rootCmd.Flags().BoolP("alwaysColor", "c", false, "Always output with color.")
 }

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions