저는 bash에서 zsh로 전환하고 있는데 제가 익숙한 한 가지는 브랜치가 깨끗한지 여부를 반영하기 위해 프롬프트에서 git 브랜치 이름을 색칠하는 것입니다. 따라서 내 가지가 main
깨끗 하면 main
녹색으로 나타나고, 그렇지 않으면 main
빨간색으로 나타납니다.
간단해야 할 것 같은데 설명하기가 어렵네요문서.
이것은 내가 사용하는 테마의 기본 구성입니다.
zstyle ':prezto:module:git:info:branch' format ' %%B%F{2}%b%f%%b'
조건문을 형식 문자열에 넣는 방법에 대한 참조를 찾을 수 없습니다.
문서에 따르면 하위 컨텍스트를 사용하여 이를 달성하는 방법이 있는 것 같습니다.
zstyle ':prezto:module:git:info:context:subcontext' format 'string'
그러나 하위 컨텍스트가 실제로 무엇인지에 대한 언급은 없습니다. 하위 컨텍스트가 무엇인지에 대해 상당히 무작위로 추측하여 이것을 시도했지만 아무런 차이가 없었습니다. 코드에서 분기 하위 컨텍스트에 대한 참조를 찾을 수 없기 때문에 놀라운 일은 아니지만, 이는 최소한 내가 원하는 결과를 의미론적으로 설명합니다!
zstyle ':prezto:module:git:info:branch' format ' %%B%F{2}%b%f%%b'
zstyle ':prezto:module:git:info:branch:dirty' format ' %%B%F{1}%b%f%%b'
zstyle 문은 프롬프트 설정 중에 생성되므로 조건부 논리(즉, if-else)를 사용하여 당시 특정 분기를 기반으로 실행되는 zstyle 문을 제어할 수 있는 방법이 없습니다.
내가 놓친 이 문제를 처리하는 확실한 방법은 무엇입니까?