20220808
prev: 20220730
{z,ba}sh の補完関数を作りたくなった。というよりCLI toolを使う上であった方がいいよね、見たいな話
自分用途であればbashの補完まで作る必要性はないが、bash補完を作ればzsh側でも使えるのでメリットはある。
補完の作成方針は以下の手法がある
気合を入れて補完用のshell を書く
Bashタブ補完自作入門 - Cybozu Inside Out | サイボウズエンジニアのブログ
Zsh: 自作コマンドで補完できるようにする
args parserが補完関数generatorに対応しているものを使う
GitHub - clap-rs/clap: A full featured, fast Command Line Argument Parser for Rust
GitHub - judah/haskeline: A Haskell library for line input in command-line programs.
Bash Completion · pcapriotti/optparse-applicative Wiki · GitHub
--helpで出力される文字列をparseしていい感じに補完してくれるものを入れる
これはそういうものがあったとぼんやり記憶しているが bashの_parse_helpだったのかもしれない
zshを使っててdirenvで環境ごとに補完をFPATHを書き換えている自分にだけ刺さる問題として、補完はFPATHからautoloadを使って読んでほしい、という気持ちがある
#作業ログ