dotweave autocomplete

bash、zsh、fish、PowerShell 用のシェル補完スクリプトを出力します。

使い方

dotweave autocomplete bash
dotweave autocomplete fish
dotweave autocomplete powershell
dotweave autocomplete zsh

各サブコマンドは補完スクリプトを stdout に出力し、--help 以外のフラグは受け取りません。どれもインストールまでは行わないので、スクリプトをどこで評価または保存するかは自分で決めてください。

スクリプト自身が候補を計算するわけではありません。隠しルートの dotweave __complete <input>... を呼び出し、候補ごとに completion<TAB>brief の行を 1 行ずつ出力します。シェルが COMP_LINE 環境変数を渡す場合はその値から入力語を読み取ります。コマンドの alias は補完出力に含まれないため、正式なルート名だけが候補になります。

autocomplete bash

bash スクリプトは補完関数を complete -o default -o nospace で登録します。これにより候補が一致しないときは bash のファイル名補完に戻り、補完側が空白を勝手に付け足すこともありません。

eval "$(dotweave autocomplete bash)"

autocomplete zsh

zsh スクリプトはセッションに compdef がなければ先に compinit を読み込み、dotweave の割り当てが他の設定に奪われたときに補完を再登録する precmd フックを追加します。

eval "$(dotweave autocomplete zsh)"

autocomplete fish

fish スクリプトは補完関数を定義したうえで complete -c dotweave -f -a により結び付けます。この指定は fish が既定で出すファイル候補を抑えます。

dotweave autocomplete fish | source

autocomplete powershell

PowerShell スクリプトは dotweave コマンドに対して Register-ArgumentCompleter -Native を呼び出し、各候補の brief をツールチップとして返します。

dotweave autocomplete powershell | Invoke-Expression

関連コマンド

シェルのプロファイルに追加して常用する手順はシェル補完を設定する、補完がパス入力を助けるコマンドは dotweave track を参照してください。