私はPythonで(Mercurialの拡張として)小さなCLIを作成しており、タブ補完をサポートしたいと考えています。具体的には、プロンプトにタブをキャッチして、一致するオプションのリストを表示したいと思います(bashのように)。
例:セクション名を入力します:
ext*TAB*
extensions
extras
問題は、Tabイベントをキャッチする方法がわからないことです。私はui.prompt()
MercurialのAPIを使用しています。これは内部で呼び出しているだけraw_input()
です。
私の知る限り、raw_input()
「Enter」でのみ返され、ユーザーがタブに入ると、返される文字列には単に。が含まれます"\t"
。