1

我似乎无法让 foreground_templates 为文本段工作。下面是我提示的最后一个块。

如果我以正常权限运行,我应该只看到一个绿色的“新月”提示字符。如果我以提升的权限运行,我应该会看到一个带有“解锁”图标的红色药丸,然后是一个空格,然后是一个红新月提示字符。

{{ if .Root }}模板在文本属性中添加了额外的空间作品{{ if .Root }}foreground_templates 中的模板不起作用。无论我尝试什么,我总是得到一个绿色的新月。

我可以使用 text 属性中的模板着色来解决它,但它有点难看:

"text": "{{ if .Root }} <lightRed>\uF5DA</>{{ else }}\uF5DA{{ end }}"

我看不出有什么不对。你能?

环境:

  • 视窗 10
  • 测试的控制台(所有渲染相同):
    • Windows 终端 1.11.2921.0
    • 电源外壳 5.1
    • PowerShell 7.0.3
  • 哦,我的豪华 6.4.3
  • SauceCodePro 书呆子字体

{
    "type": "prompt",
    "alignment": "left",
    "newline": true,
    "segments": [
        {
            "type": "root",
            "style": "diamond",
            "leading_diamond": "\uE0B6",
            "trailing_diamond": "\uE0B4",
            "foreground": "black",
            "background": "lightRed",
            "properties": {
                "root_icon": "\uF13E"
            }
        },
        {
            "type": "text",
            "style": "plain",
            "foreground": "lightGreen",
            "foreground_templates": [
                "{{ if .Root }}lightRed{{ end }}"
            ],
            "properties": {
                "prefix": "",
                "text": "{{ if .Root }} {{ end }}\uF5DA"
            }
        }
    ]
}
4

0 回答 0