3
는 내가이 완료 탭을 할 수 있도록 zsh을을 조정하려면 : ~/somedir
의 모든 *.foo
파일을 사용zsh 완료에서 파일 확장명을 제거하는 방법은 무엇입니까?
myprog <tab>
하지만 그들에게.foo
확장자가없는 를 표시 있도록 있습니다.
이렇게 할 방법이 있습니까?
#compdef myprog
typeset -A opt_args
local context state line
local -a mydirs
mydirs="(. ~/somedir)"
_arguments -s -S \
"*:name:->foos" \
&& return 0
case $state in
(foos)
_files -W ${mydirs} -g '*.foo(:r)' && return 0
;;
esac
return 1
그러나,이 디스플레이는 모든 파일의 출력을 두 배 (즉, 각 .foo
파일의 확장자와없이 나열됩니다) : 이것은 내가 지금까지있는 것입니다. 이 주위에 어떤 방법이 있습니까?
이 답변을 조금 연장 하시겠습니까? zsh의 완성 구문에 완전히 익숙하지 않아서 시작해야 할 부분을 추론하는 데 어려움을 겪고 있습니다. – Michael
Nvm, 그것을 얻었습니다 :'zstyle ': 완료 : *'파일 패턴 '% p : globbed-files :''내 .zshrc에 속합니다. 감사! – Michael