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

312
Iskustvo

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

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

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

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

Заметка

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

бонус

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


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

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


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

  • Я попытался с помощью lc, rcи ecпеременные в list-colorsстиле, но это не помогло:
    1. Список завершения был плохо выровнен, и это создавало все виды визуальных проблем.
    2. Символы были вставлены во все элементы списка завершения, а не только в выбранный.
  • Я также попытался использовать maпеременную, но я не мог правильно вставить символ в начале:
    1. Переменная ожидает только число, представляющее цвет, и, вероятно, оно заключено в некоторые escape-последовательности, поэтому выходные данные выглядят не так, как ожидалось.
2

0 ответов на вопрос