【问题标题】:How do I customize the colors used by 'jq -C'?如何自定义“jq -C”使用的颜色?
【发布时间】:2018-12-22 15:16:23
【问题描述】:

除了jq --color-output 使用的默认颜色之外,我如何指定颜色?

【问题讨论】:

    标签: json syntax jq text-coloring


    【解决方案1】:

    对 JQ_COLORS 环境变量的支持已于 2017 年 4 月 29 日(即 jq 1.5 发布之后)添加到开发版本中,并带有以下文档:

    要配置替代颜色,只需设置JQ_COLORS 环境变量到部分终端的冒号分隔列表 转义序列如"1;31",按以下顺序:

    - color for `null`
    - color for `false`
    - color for `true`
    - color for numbers
    - color for strings
    - color for arrays
    - color for objects
    

    默认配色方案与设置相同 "JQ_COLORS=1;30:0;39:0;39:0;39:0;32:1;39:1;39".

    这不是 VT100/ANSI 转义的手册。然而,每一个 这些颜色规格应由两个分开的数字组成 用分号,其中第一个数字是以下之一:

    - 1 (bright)
    - 2 (dim)
    - 4 (underscore)
    - 5 (blink)
    - 7 (reverse)
    - 8 (hidden)
    

    第二个是其中之一:

    - 30 (black)
    - 31 (red)
    - 32 (green)
    - 33 (yellow)
    - 34 (blue)
    - 35 (magenta)
    - 36 (cyan)
    - 37 (white)
    

    【讨论】:

    • 1.5 版似乎忽略了这一点。
    • 还有没有办法改变键的颜色,这实际上就是我想要改变的全部。
    • @orome - jq 1.5 是(唉)最新的“官方”版本。使用自制软件,您可以尝试:brew install --HEAD jq;另见github.com/stedolan/jq/wiki/Installation
    • 我相信你想要FIELD_COLOR,它是在src/jv_print.c line 35中设置的。
    • TLDR 如果您因为使用深色主题而来到这里并且您的 null 值不可见:设置此环境变量以将您的黑色粗体不可见 null 切换为红色非粗体一:export JQ_COLORS='0;31:0;39:0;39:0;39:0;32:1;39:1;39' - 影响这个的部分是初始字符0;31,它转换为non-bold;red。将0; 更改为1; 以获得大胆,将31 更改为37 以使其白色且非侵入性。
    猜你喜欢
    • 2012-09-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-14
    • 2014-02-26
    • 2017-12-05
    • 1970-01-01
    相关资源
    最近更新 更多