一部のプログラム(hgなど)では、ユーザーがコマンドの特定の部分をタブで入力できることに気付きました。たとえば、hgリポジトリの作業ディレクトリで、次のように入力します。
hg qpush --move b8<TAB>
「b8」で始まるパッチキュー内の水銀パッチを使用してコマンドを完了しようとします。
私がやりたいのは、私のプログラムでこの動作を模倣することです。つまり、特定のディレクトリ内のファイルに依存する一連のコマンドがあり、シェルでタブ補完を提供できるようにしたいと考えています。Ubuntu Linuxでこれを提供するためのAPIはありますか(私のスクリプトが書かれているので、Pythonを使用することが望ましいです)?