Не удается заставить Oh My Posh foreground_templates работать с сегментом "текст"

Кажется, я не могу заставить foreground_templates работать для текстового сегмента. Ниже последний блок моего приглашения.

Если я работаю с обычными привилегиями, я должен видеть только зеленый символ подсказки «полумесяц». Если я работаю с повышенными привилегиями, я должен увидеть красную таблетку со значком «разблокировано», за которым следует пробел, а затем - символ подсказки в виде красного полумесяца.

Шаблон в текстовом свойстве для добавления дополнительного места работает . В {{ if .Root }}шаблон в foreground_templates не работает . Что бы я ни старался, у меня всегда получается зеленый полумесяц.

Я могу обойти это, используя раскраску шаблона в свойстве text, но это немного уродливее:

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

Я не могу заметить ничего плохого. Ты можешь?

Среда:

  • Windows 10
  • Проверенные консоли (все отображаются одинаково):
    • Терминал Windows 1.11.2921.0
    • Powershell 5.1
    • PowerShell 7.0.3
  • о-о-о-о-о 6.4.3
  • Шрифт SauceCodePro Nerd
      
{
    "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"
            }
        }
    ]
}

0 ответов

Другие вопросы по тегам