나는 python으로 명령 줄 도구를 작성하고 pip를 사용하여 배포합니다. 도구가 탭 완성을 할 수 있도록 스크립트 (bash 용과 zsh 용)를 작성했습니다. 누군가 pip 설치를 수행 할 때 pip를 설치하는 방법이 있습니까?셸 완료로 pip 설치
예 : 나는 completion.bash 파일을 가지고 있습니다. 누군가가 myPackage에에게
를 설치 PIP
을 수행 할 때 또한 bash는 파일을 소스 것이다.
나는 리눅스와 bash에서 setup.py 스크립트의 data_files 섹션에 스크립트를 넣어서이 작업을 수행 할 수 있다고 확신한다.
data_file=[ ('/etc/bash_completion.d', ['bin/completion.bash']) ],
하지만 어떻게하면 플랫폼과 쉘에 독립적일까요? bash와 zsh 모두에서 mac/linux에서 작동해야합니다. 가능한 경우 창을 지원합니다.
이것이 가능합니까? 그렇다면 어떻게?
_foo_complete() { COMPREPLY=() local words=("${COMP_WORDS[@]}") local word="${COMP_WORDS[COMP_CWORD]}" words=("${words[@]:1}") local completions="$(foo completer --cmplt=\""${words[*]}"\")" COMPREPLY=($(compgen -W "$completions" -- "$word")) } complete -F _foo_complete foo
나는 현재 당신이 몇 가지 질문을하는
source completion.bash