zsh 완료 섹션 헤더의 스타일을 지정하는 방법은 무엇입니까?

zsh 완료 섹션 헤더의 스타일을 지정하는 방법은 무엇입니까?

내 스크린샷에서는 섹션 제목("최근 분기", "로컬 헤드" 등)이 완성 제안과 시각적으로 구별되지 않습니다.

compinstall스타일을 바꿀 수는 없을 것 같습니다.

예를 들어, 섹션 제목을 굵게 표시하거나 fg/bg 색상을 반전시키는 방법은 무엇입니까?

여기에 이미지 설명을 입력하세요.

답변1

바라보다info zsh format(패키지 또는 이에 상응하는 패키지를 설치해야 할 수도 있습니다 zsh-doc).

다음을 사용하여 설정할 수 있습니다 format zstyle.

zstyle ':completion:*' format '%K{blue}%F{yellow}Completing %d:%k%f'

Completing recent branches:완료 제목은 파란색 바탕에 노란색 으로 표시됩니다 .

다음 메뉴에서 찾을 수 있습니다 compinstall.

3.  Styles for changing the way completions are displayed and inserted.
[...]
1.  Change appearance of completion lists:  allows descriptions of
    completions to appear and sorting of different types of completions.
[...]
1.  Print a message above completion lists describing what is being
    completed.
[...]
You can set a string which is displayed on a line above the list of matches
for completions.  A `%d' in this string will be replaced by a brief
description of the type of completion.  For example, if you set the
string to `Completing %d', and type ^D to show a list of files, the line
`Completing files' will appear above that list.  Enter an empty line to
turn this feature off.  If you enter something which doesn't include `%d',
then `%d' will be appended.  Quotation will be added automatically.

description>

compinstall실제로 스타일이 로 설정되어 있음 을 알 수 있습니다 zstyle ':completion:*' format. 이렇게 하면 형식이 설정됩니다.모두다양한 완성(파일, 디렉토리, 필터...). 다양한 카테고리에 대해 다양한 스타일을 설정할 수도 있습니다( 에 전달된 첫 번째 매개변수 참조 _description) grep -rw _descriptions $fpath.

zstyle ':completion:*:*director*' format '%F{blue}%BCompleting %d:%b%f'
zstyle ':completion:*:*file*' format '%F{magenta}%BCompleting %d:%b%f'

# fallback:
zstyle ':completion:*:descriptions' format '%BCompleting %d:%b'

비록 당신이 그것을 찾을 것입니다상표( files, directories...)는 모든 완성자가 항상 일관되게 사용하는 것은 아닙니다.

답변2

해결책을 찾았습니다https://github.com/solnic/dotfiles/blob/master/home/zsh/completion.zsh.

관련 발췌문은

// needs 'autoload -U colors && colors' 

zstyle ':completion:*:descriptions' format "%{${fg_bold[magenta]}%}= %d =%{$reset_color%}"

관련 정보