Как настроить внешний вид текущего выбранного (выделенного) завершения в zsh?

Главный вопрос

Я хотел бы добавить символы Powerline в начале и в конце выбранного завершения, например:

  1. Запустил меню завершения, вставив c и нажав клавишу TAB.
  2. Перемещение вправо в меню завершения нажатием клавиши со стрелкой вправо.
  3. Перемещено вниз в меню завершения нажатием клавиши со стрелкой вниз.

Есть ли способ заставить zsh выглядеть/вести себя как на картинках?

Примечание

Добавленный треугольник Powerline + пустой символ в начале и пустой символ + треугольник Powerline в конце должны каким-то образом учитываться при создании столбцов, чтобы сохранить правильное выравнивание.

Бонус

Добавьте 2 пробела в начале каждого завершения в списке, чтобы при выборе завершения не казалось, что текст был перемещен вправо.
( Эту проблему можно увидеть путем сравнения завершения с выбором и без него. )


Альтернативный вопрос

В случае, если ранее объясненное поведение невозможно получить без изменения исходного кода zsh, возможно ли, по крайней мере, добавить треугольник Powerline only в конце выбранного завершения?


Мои неудачные попытки

  • I have tried using the lc, rc, and ec variables in the list-colors style but that didn't help:
    1. Completion list was badly aligned and it created all kinds of visual problems.
    2. Символы были вставлены во все элементы списка завершения, а не только в выбранный.
  • I have also tried using the ma variable, but I couldn't properly insert a character at the beginning:
    1. The variable expects only a number that represents a color and it is probably wrapped in some escape sequences, so the output did not look as expected.

person Iskustvo    schedule 01.05.2018    source источник


Ответы (1)


Это работает для меня.

zstyle ":completion:*:default" list-colors ${(s.:.)LS_COLORS} "ma=48;5;153;1"

Использует мой LS_COLORS, а затем ma устанавливает фон моего выделения жирным шрифтом и цветом 153 из https://jonasjacek.github.io/colors/.

Найдено из https://www.zsh.org/mla/users/2010/msg00811.html

person nhooyr    schedule 25.05.2020