zstyle
manipula o controle de estilo óbvio para o sistema de conclusão, mas parece cobrir mais do que isso. Por exemplo, o módulo vcs_info
depende dele para exibir o status git no seu prompt. Você pode começar observando os poucos parágrafos explicativos em man zshmodules
na seção zstyle
.
Você pode simplesmente invocá-lo para ver quais configurações estão em vigor. Isso pode ser instrutivo.
O Zsh Book tem um belo tratamento de capítulo sobre zstyle
, também, explicando detalhadamente seus vários campos.
Você pode encontrar o diretório .../Completion/
em seu sistema para ver como alguns desses arquivos usam zstyle
. Um local comum está próximo de /usr/share/zsh/functions/Completion/*
. Eu vejo isso usado em mais de 100 arquivos no meu sistema. Os usuários geralmente têm zstyle
espalhados pelo ~/.zshrc
deles também. Aqui estão alguns bons para adicionar algumas cores e descrições à sua conclusão:
# Do menu-driven completion.
zstyle ':completion:*' menu select
# Color completion for some things.
# http://linuxshellaccount.blogspot.com/2008/12/color-completion-using-zsh-modules-on.html
zstyle ':completion:*' list-colors ${(s.:.)LS_COLORS}
# formatting and messages
# http://www.masterzen.fr/2009/04/19/in-love-with-zsh-part-one/
zstyle ':completion:*' verbose yes
zstyle ':completion:*:descriptions' format "$fg[yellow]%B--- %d%b"
zstyle ':completion:*:messages' format '%d'
zstyle ':completion:*:warnings' format "$fg[red]No matches for:$reset_color %d"
zstyle ':completion:*:corrections' format '%B%d (errors: %e)%b'
zstyle ':completion:*' group-name ''
# Completers for my own scripts
zstyle ':completion:*:*:sstrans*:*' file-patterns '*.(lst|clst)'
zstyle ':completion:*:*:ssnorm*:*' file-patterns '*.tsv'
# ...
O sistema de conclusão torna a maioria dos campos claros se você brincar com ele. Tente digitar zstyle :«tab»
e você verá algumas opções. Tab-complete para os próximos dois pontos e você verá o próximo conjunto de opções, etc.