パッケージマネージャとして、zshコンプリートファイルをどこにインストールする必要がありますか?

パッケージマネージャとして、zshコンプリートファイルをどこにインストールする必要がありますか?

zsh完了スクリプトを含むプロジェクトがあります。ユーザーがソフトウェアをインストールするとき(たとえば、make installまたはapt install...pacman -Siを実行して)、完成ファイルをどこにコピーする必要がありますか?

他のシェルには、次のような特定の完了スクリプトディレクトリがあることがわかります。
->/usr/share/fish/vendor_completions.d
強く打つ->/usr/share/bash-completion/completions

zshはどうですか?
扱いにくい->/usr/share/???

ベストアンサー1

zsh補完機能に使用されるパスは設定可能です(参照:${fpath[@]})しかし従うのは安全です。システム例:デフォルトでは、インストールプレフィックスの下にインストールされますが、share/zsh/site-functions上書きできます。インストールプレフィックスは/usr/localデフォルト値でなければなりません。

パッケージングを完了するには、Fedoraとその派生物がそれを使用し、/usr/share/zsh/site-functionsDebianとその派生物がそれを使用します/usr/share/zsh/vendor-completions。ここで使用されている特定のディレクトリを気にする必要はありませんが、この例では完了インストールディレクトリの上書きを許可するのが有用な理由について説明します。

パッケージ化されていない完成の場合、両方のディストリビューションがサポートされます/usr/local/share/zsh/site-functions

おすすめ記事