Cod:–helpの使用を検出するBashおよびZshの新しいコマンドラインオートコンプリートデーモン

タラ BashとZshのGoで記述された新しいコマンドライン補完デーモンです。ツールはの使用を検出します --help サポートしていないコマンドのオートコンプリートを生成します。
コマンドライン補完(タブ補完/オートコンプリート)はコマンドラインインタープリターの間で共通の機能です。補完キー(通常はTab)を押すと、プログラムは部分的に入力されたコマンドを自動的に入力します。これを使用することにより、一般的なコマンドにアクセスするために必要なキーストロークが少なくなり、長いスペルや名前のスペルが難しいコマンド/ファイル名を簡単にオートコンプリートできます。
補完できる要素は、コマンドとファイル名だけでなく、コマンド引数でもあり、これがCodの機能です。それはの出力を解析します --help 特定のコマンドの場合、それに基づいてBashまたはZshシェルのオートコンプリートが生成されます。一部のコマンドはすでに引数のオートコンプリートをサポートしています(たとえば、 ls -タイプ ls --fu そして押す Tab オートコンプリートして ls --full-time)、しかしいくつかはそうではなく、タラはそれらのケースで助けることができます。

CodはmacOSとLinuxではZsh、LinuxではBashのみをサポートしています。 Codプロジェクトの説明によると、macOSにバンドルされているBashのバージョンは古すぎてCodがサポートしていないため、macOS上のBashはサポートされていません。プロジェクトの説明ではWindowsについての言及はなく、Windowsバイナリもないため、Windowsをサポートしていない可能性がありますが、Windowsを使用していないのでわかりません。

タラのしくみ

Codがscrcpyコマンドにオートコンプリートを追加する方法を示すデモ
Codがscrcpyコマンドにオートコンプリートを追加する方法を示すデモ端末の記録(デフォルトではオートコンプリートはありません)

アクセスすると --help プログラム/コマンドの場合、タラはそれを検出し、このコマンドを学習する必要があるかどうかを尋ねます。許可すると、タラは --help 出力し、それを使用して、将来そのコマンドの引数を完成させます。
コマンドのヘルプを呼び出したことをCodが検出しない特別な場合は、Codを使用してください。 learn とにかくそれを学ぶためのサブコマンド。実際の例を見てみましょう:scrcpy(これは、上記の数行を記録しているデモ端末で見ることができます)。これは、Androidデバイスの画面をデスクトップに表示し、リモートで制御するためのツールです。 scrcpyコマンドには、次のような多くのオプション/引数があります。 --always-on-top--record-format--window-borderlessなど、組み込みのオートコンプリートサポートはありません。
Codにscrcpyコマンドオプション/引数を学習させるには、次のコマンドを実行してみましょう。

scrcpy --help

コマンドを実行すると --help 引数として、タラはそのコマンドを学ぶべきかどうか尋ねます:

┌──> /usr/bin/scrcpy --help
└─── cod: learn this command? [yn?] > y
cod: learned completions: "--always-on-top" "-b" and 35 more

タイプ y このコマンドを学習できるようにします。
Codがコマンド引数を学習したので、試してみましょう。タイプ

scrcpy --a

ターミナルで押します Tab。引数はオートコンプリートされるべきです --always-on-top。あなたはまた好きかもしれません:Bashの不完全なパス拡張(完了)
すでに述べた以外に learn サブコマンド、タラは他のいくつかのオプションがあります update (既知のコマンドを更新)、 list (既知のコマンドのリスト)、その他。これはCodのヘルプ/使用方法の画面です。

usage: cod []  [ ...]

Shell autocomplete generator based on `--help' texts.

Flags:
  --help     Show context-sensitive help (also try --help-long and --help-man).
  --version  Show application version.

Commands:
  help [...]
  learn ...
  list [...]
  remove ...
  update ...
  init 
  example-config []
  daemon []

訪問 タラプロジェクトページ それを使用して構成する方法の詳細については。

タラをダウンロード

ソースをダウンロードしてCodをビルドするか、ビルド済みバイナリ(macOSとLinuxの両方で利用可能)をダウンロードしてインストールできます。
LinuxにCodバイナリをインストールするには、cod-Linux.tgzアーカイブを抽出し、Codバイナリを抽出したフォルダでターミナルを開き、このコマンドを使用してインストールします。 /usr/local/bin (これがあなたの中にあることを確認してください PATH、または別の場所にインストールしてください):

sudo install cod /usr/local/bin

また、行を追加する必要があります ~/.bashrc または ~/.zshrc ソースCodへのファイル:

  • Bashの場合:開く ~/.bashrc テキストエディターを使用して、ファイルの最後に次の行を追加します。
source <(cod init $$ bash)
  • Zshの場合:オープン ~/.zshrc テキストエディタを使用して、ファイルの最後に次の行を追加します。
source <(cod init $$ zsh)

ファイルを保存し、変更されたソースを ~/.bashrc (このコマンドを使用: source ~/.bashrc)および ~/.zshrc (使用する source ~/.zshrc)ファイルを作成するか、新しいターミナルを開くと、タラを使用できるようになります。

Sidebar