私は Mac Snow Leopard を使用しています。Python は からインストールされhomebrew
、動作しています。2 つのカスタム bash 完了スクリプトがpip
ありdjango
ます。以前は機能していましたが、ドットファイルをいじった後は機能しなくなりました。
djangoの完成は元のプロジェクトからのもので、pip completion
(ここから) を以下に示します。
_pip() {
cur="${COMP_WORDS[COMP_CWORD]}"
prev="${COMP_WORDS[COMP_CWORD-1]}"
commands=$(pip --help | awk '/Commands\:/,/General Options\:/' | \
\grep -E -o "^\s{2}\w*" | tr -d ' ')
opts=$(pip --help | \grep -E -o "((-\w{1}|--(\w|-)*=?)){1,2}")
if [ $COMP_CWORD == 1 ] ; then
COMPREPLY=( $(compgen -W "${commands}" -- ${cur}) )
return 0
fi
if [[ ${cur} == -* ]] ; then
local command_opts=$(pip $prev --help | \
\grep -E -o "((-\w{1}|--(\w|-)*=?)){1,2}")
COMPREPLY=( $(compgen -W "${command_opts}" -- ${cur}) )
return 0
fi
}
complete -o default -F _pip pip
ERRORS: Django の補完は、私がそれを入手するたびにこれをスローします:
complete: usage: complete [-abcdefgjksuv] [-pr] [-o option] [-A action] [-G globpat] [-W wordlist] [-P prefix] [-S suffix] [-X filterpat] [-F function] [-C command] [name ...]
したがって、基本的には構文の問題であるはずです。Iのpip completion
ときは何もしませんpip + TAB
。
ポイントは、どちらも機能していたということですが、何が起こったのかわかりません。関数が組み込みのbashであることを理解したのでcomplete
、bashを台無しにせず、ドットファイルのみ..手がかりはありますか?