내 도구 중 하나에 대해 사용자 정의 ZSH 탭 완성 기능이 있습니다. 잘 작동하지만 때로는 도구가 응답하는 데 오랜 시간이 걸립니다. 도구가 실행되는 동안 (그리고 실행이 완료되기 전에) 어떤 일이 일어나고 있다는 표시를 표시하는 방법이 있습니까?사용자 정의 ZSH 완료자가 실행 중일 때 진행 표시 표시
예를 들어,이 같은 현재 행 아래의 메시지가 표시되도록 할 수 있습니다 :
prompt$ pypath /providers/conf<TAB>
Completing...
을 여기에 도전 내가 'TAB'을 히트 곳에 커서가 (이전 위치로 복귀해야한다는 것입니다) 일단 수료 완료 후보자가 있습니다. ZSH에서이 작업을 수행 할 수 있지만 도구가 실행되기 전에 메시지를 표시 할 수 있습니까? 당신은 zle -R "Completing..."
를 사용하려고 할 수
#compdef pypath
# This does not work; it is only added when the whole thing ends
# _message -r "Completing..."
IFS=$'\n' path_candidates=($(pypath "${PREFIX}*" | sed 's|.*/||' | sort -u))
compset -P '*/'
if [ -z "$path_candidates" ]; then
compadd -x "No matches found."
else
compadd -q -S '/' $path_candidates
fi
방금'인쇄 사용하려고 했 (나는/너무 찾아주세요
zle -R
있는 페이지에서 검색을 좋은 앵커를 찾을 수 없습니다) '완료 ...'을 ' '_message' 대신에? – Adaephon예, 그렇지만 나중에 삭제되지 않으므로 완성 자에게 "완료 중 ..."이 끝날 때 완료를 추가하게됩니다. – Whyte
그럴 경우'print -n 'Completing ... \ r''을 시도 할 수 있습니다. '-n'은 개행 문자를 출력하지 못하도록하고'\ r'은 커서를 줄의 처음으로 이동시킵니다. 완료 목록이 인쇄되면 텍스트를 덮어 씁니다. – Adaephon