Ab einer gewissen Anzahl von Argumenten wünscht man sich für eigene Python-Skripte eine automatische Vervollständigung nach dem Vorbild von Standardwerkzeugen, und wie immer ist man mit diesem Wunsch im Internet nicht allein.
shtab erzeugt automatisch zsh completion scripts, wenn
argparse.ArgumentParser()
-Objekt zurückliefertprog
(parser = argparse.ArgumentParser(description='Backup with rsync', prog='rb')
) oder shtab das Argument --prog=rb
beifügtrb
kein in .zshrc
definiertes Alias, sondern – wenn schon nicht der Name des Programms – wenigstens ein Symlink istIst eine dieser Voraussetzungen nicht erfüllt, scheitert die Generierung, oder das gewünschte completion script
wird nicht für rb
herangezogen. Andernfalls hat –
shtab --shell=zsh rbackup.get_parser | sudo tee /usr/local/share/zsh/site-functions/_rb
– den gewünschten Effekt. Zwar habe ich mehr als die der Zeitersparnis angemessenen 30 Minuten investiert, aber man kann nicht alles messen.