Ich schreibe ein Befehlszeilentool in Python und mit Pip, um es zu verteilen. Ich habe einige Skripte geschrieben (eins für bash und eins für zsh), damit das Tool die Tab-Vervollständigung haben kann. Gibt es eine Möglichkeit, pip zu bekommen, um diese Skripte zu installieren, wenn jemand eine Pip-Installation durchführt?Pip installieren mit Shell-Abschluss
Zum Beispiel: Ich habe eine completion.bash Datei. Wenn jemand
tut pip mypackage
installieren Es wird auch die Bash-Datei beziehen.
Ich bin mir ziemlich sicher, dass ich dies für Linux und bash tun kann, indem Sie das Skript setzt in meinem data_files Abschnitt im setup.py-Skript.
data_file=[
('/etc/bash_completion.d', ['bin/completion.bash'])
],
Aber wie kann ich das tun, damit es plattform- und shellunabhängig ist? Ich brauche es für Mac/Linux in beiden Bash und Zsh. Wenn möglich, sogar Windows unterstützen.
Ist das möglich? Und wenn ja, wie?
Falls es darauf ankommt, hier ist meine Bash-Skript:
_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
ich es derzeit nur um installiere source completion.bash
läuft