Ich habe festgestellt, dass einige Programme (z. B. hg) den Benutzer erlauben, bestimmte Teile des Befehls tab-abschließen. Wenn zum Beispiel in einer hg Repository-Verzeichnis arbeiten, ich tippe:Wie kann ich in meinem Programm die Tab-Vervollständigung verwenden?
hg qpush --move b8<TAB>
Er wird versuchen, den Befehl mit alle möglichen Quecksilber-Patches in meiner Patch Warteschlange zu vervollständigen, die mit „b8“ beginnen.
Was ich tun möchte, ist dieses Verhalten in meinem Programm zu imitieren. Das heißt, ich habe eine Reihe von Befehlen, die von Dateien innerhalb eines bestimmten Verzeichnisses abhängen, und ich möchte in der Lage sein, die Tab-Vervollständigung in der Shell bereitzustellen. Gibt es eine API für die Bereitstellung auf Ubuntu Linux (vorzugsweise mit Python, wie es in meinem Skript geschrieben ist)?
Vielleicht etwas wie dieses: http://tldp.org/LDP/abs/html/tabexpansion.html – mgilson
Wie @mgilson Antwort impliziert, muss die Shell konfiguriert werden, um Autovervollständigung für Ihr Programm, nicht die andere zur Verfügung zu stellen andersherum. – ziu