Comment personnaliser l'apparence de l'achèvement actuellement sélectionné (en surbrillance) dans zsh?


2

Question principale

J'aimerais ajouter des caractères CPL au début et à la fin de l'achèvement sélectionné, comme ceci:

  1. Démarrez le menu de complétion en insérant un cet en appuyant sur la TABtouche.
  2. Déplacé à droite dans le menu de complétion en appuyant sur la touche fléchée droite.
  3. Déplacé vers le bas dans le menu d'achèvement en appuyant sur la touche fléchée vers le bas.

Y a-t-il un moyen de faire en sorte que zsh ressemble / se comporte comme sur les images?

Remarque

Le triangle Powerline ajouté + le caractère vierge au début et le caractère vide + le triangle Powerline à la fin doivent en quelque sorte être comptabilisés lors de la création de colonnes afin de maintenir l'alignement correct.

Prime

Ajoutez 2 espaces au début de chaque complétion de la liste, de sorte que lorsque la complétion est sélectionnée, le texte ne semble pas avoir été déplacé vers la droite.
(Ce problème peut être constaté en comparant l'achèvement avec et sans la sélection.)


Question alternative

Si le comportement expliqué précédemment est impossible à obtenir sans changer le code source de zsh, est-il au moins possible d'ajouter un triangle de courant porteur uniquement à la fin de l'achèvement sélectionné?


Mes tentatives infructueuses

  • Je l' ai essayé d' utiliser les lc, rcet ecvariables dans le list-colorsstyle , mais cela n'a pas aidé:
    1. La liste d'achèvement était mal alignée et créait toutes sortes de problèmes visuels.
    2. Des symboles ont été insérés dans tous les éléments de la liste d'achèvement, pas seulement celui sélectionné.
  • J'ai aussi essayé d'utiliser la mavariable, mais je ne pouvais pas insérer correctement un caractère au début:
    1. La variable n'attend qu'un nombre représentant une couleur et elle est probablement encapsulée dans des séquences d'échappement. La sortie ne s'est donc pas déroulée comme prévu.
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.