Вот несколько примеров.
Что-то простое для начала, пусть все теги параметров будут зелеными:
zstyle ':completion:*:parameters' list-colors '=*=32'
Как видите, синтаксис '=pattern=format'. Поскольку * соответствует всему, а 32 — зеленый код ANSI, поэтому все параметры будут зелеными.
Теперь давайте отобразим все команды жирным шрифтом красного цвета.
zstyle ':completion:*:commands' list-colors '=*=1;31'
но встроенные команды с чуть более сложным цветом (из 256 палитры)
zstyle ':completion:*:builtins' list-colors '=*=1;38;5;142'
аналогично для псевдонимов
zstyle ':completion:*:aliases' list-colors '=*=2;38;5;128'
Теперь давайте перейдем к шаблонам и по-разному раскрасим разные части завершения, скажем, мы хотим, чтобы процессы уничтожения были окрашены в 3 разных цвета:
zstyle ':completion:*:*:kill:*' list-colors '=(#b) #([0-9]#)*( *[a-z])*=34=31=33'
Здесь синтаксис немного сложнее, а именно '=(#b)(pattern1)(pattern2)=format0=format1=format2', где format0 используется для всего, что не соответствует ни одному шаблону. Таким образом, идентификаторы процессов (первый шаблон) будут выделены красным, имена процессов (второй шаблон) — желтым, а остальные — синим:
![введите здесь описание изображения](https://i.stack.imgur.com/4OqYD.png)
Наконец, давайте попробуем что-нибудь полезное со строкой '--', которую вы просили:
zstyle ':completion:*:options' list-colors '=^(-- *)=34'
При этом все параметры команды будут выделены синим цветом, но описание этих параметров останется нормальным.
![введите здесь описание изображения](https://i.stack.imgur.com/oXCIM.png)
Обратите внимание, что некоторые параметры начинаются с '--', поэтому мы должны использовать '--' (с пробелом), чтобы соответствовать только описаниям, и отменить шаблон с помощью ^, чтобы применить цвет к параметрам.
Надеюсь, это поможет
person
Community
schedule
09.05.2014