zsh-syntax-highlighting은 매개변수 확장을 검정색으로 씁니다.

zsh-syntax-highlighting은 매개변수 확장을 검정색으로 씁니다.

나는 설치했다zsh 구문 강조. 한 가지 이상한 점을 제외하고는 잘 작동합니다. 매개변수 확장을 명령 인수로 입력할 때, 즉

foo $PWD

를 입력하자마자 $P매개변수 확장이 검은색으로 표시됩니다(검은색 배경이 있는 터미널을 사용하기 때문에 보이지 않게 됩니다). 를 입력하면 검정색으로 유지되고 를 $PW입력하면 표시됩니다(전경색이지만 밑줄이 그어짐) $PWD. 강조 표시 속성은 "미완성/알 수 없음" 매개변수에 대해 "fg=black"인 것으로 보이지만 알려진 매개변수에 대해서는 줄 바꿈만 되어 있습니다.

색상이 다르게 표시되는 점이 마음에 듭니다. 이렇게 하면 변수 이름의 오타를 조기에 발견할 수 있기 때문입니다. 그러나 검정색은 배경도 검정색이므로 읽을 수 없습니다.

더 흥미롭게도 이는 줄의 첫 번째 단어가 외부 명령(예: foo내 예)이거나 구문 키워드( if)인 경우에만 발생합니다. 줄의 첫 번째 단어가 내부 명령(예: echo), 별칭 호출 또는 함수 호출인 경우에는 발생하지 않습니다.

문서를 검색했지만 "미완성 매개변수 확장" 색상을 정의할 수 있는 위치를 찾지 못했습니다.

저는 다음 하이라이터를 사용하고 있습니다.

ZSH_HIGHLIGHT_HIGHLIGHTERS=(main brackets pattern line)

다양한 하이라이트 카테고리를 설정했지만 단순히 전경을 검정색으로 설정하는 곳은 없습니다.

나는 다음과 같이 나에게 중요한 매우 구체적인 매개변수를 강조 표시합니다.

ZSH_HIGHLIGHT_PATTERNS+=('$(oncoll|onyt|oncp|ong)' 'fg=black,bold,bg=white')

그러나 이 역시 여기에 설명된 문제에 아무런 영향을 미칠 수 없습니다.

어떤 스타일 설정이 여기서 나에게 영향을 미치는지 아는 사람이 있나요?

답변1

main형광펜 의 모든 기본 스타일을 찾을 수 있습니다여기.

현재 시점에서 텍스트( fg)가 검정색으로 구성된 유일한 기본 스타일은논평.

foo $PW그 예가 정확히 왜 주석으로 간주되는지는 모르겠지만 ,선적 서류 비치다음과 같이 설명합니다 comment.

comment- 주석, setopt INTERACTIVE_COMMENTS적용되는 경우( echo # foo)
comment- 명령 위치에서 생략된 매개변수( 가 설정되지 않거나 비어 있는 $x ls경우 $x)

두 번째 조건은 설정되지 않은 것처럼 적용되는 것으로 보입니다 $PW.

관련 정보