예를 들어 zsh 완성 기능 _describe
은 _arguments
제안에 설명을 추가할 수 있습니다.
prompt% function _myfun() {thingstodo=('one:do one thing' 'nope:do nothing'); _describe 'possible things to do' thingstodo}
prompt% compdef _myfun myfun
prompt% myfun⇥
things to do:
nothing -- do nothing
one -- do one thing
완성이 명시적인 경우 이러한 설명은 표시되지 않고 가능한 완성만 삽입됩니다.
prompt% myfun o⇥
밝혀지다
prompt% myfun one
(뒤에 공백을 삽입하면 one
커서가 줄의 끝에 위치합니다.)
완료를 트리거한 사용자로서 설명을 볼 수 있는 방법이 있습니까? 예를 들어, "유일한 옵션은 무엇을 하는가?"를 알고 싶은 상황에서 그래서 저는 완성 함수 자체를 조작하고 싶지 않고 오히려 전역 범위에 뭔가를 갖고 싶습니다. 나는 그것이 수동으로 트리거된 zle 위젯일 수 있다고 생각했습니다(어쩌면 커서를 다른 위치로 이동하거나 필요한 경우 제안을 다시 제거할 수도 있음). 아니면 zstyle?
답변1
위젯을 사용하세요 list-choices
. 기본적으로 Ctrl-D(vi 모드) 및 Meta-Ctrl-D(emacs 모드)에 바인딩되어 있습니다.
올리버