この記事は TinyGo Advent Calendar 2024 7 日目の記事です。
TinyGo に限らずですが、コマンドラインツールは補完が出来ると助かるケースはあるので、そのための設定を紹介します。
コマンドライン補完とは何か?
雰囲気としては、、、コマンドラインからコマンドやオプションなどを入力するときに、途中まで入力して TAB
を何回か押すと候補が出たりそのまま入力出来たりする機能です。
例えば、以下のように tinyg
まで入力して
$ tinyg
TAB
を押すと (他に候補が無い場合は) o
という文字が補完されて tinygo
になります。
$ tinygo
あるいは私の環境では tiny
まで入力して TAB
を 2 回を押すと以下の表示になりました。これは、 tinydisplay
や tinygo-docker
などの候補があるよ、という表示です。
$ tiny
tinydisplay.exe tinyfontgen.exe tinyfontgen-ttf.exe
tinygo.exe tinygo-autocmpl.exe tinygo-docker.exe
tinygo-edit.exe tinygo-used-files.exe
TinyGo のコマンドライン補完は?
現状オフィシャルでは用意されていません。ので、以下の sago35/tinygo-autocmpl を作成しています。日常的に使用するオプション等はほぼ網羅できていると思います。
設定方法
今の所 bash / zsh / clink に対応しています。以下のように eval コマンド等で設定が出来ます。永続化させるには ~/.bashrc
等に設定してください。
# bash
$ eval "$(tinygo-autocmpl --completion-script-bash)"
# zsh
$ eval "$(tinygo-autocmpl --completion-script-zsh)"
# clink (windows)
$ tinygo-autocmpl --completion-script-clink > %LOCALAPPDATA%\clink\tinygo.lua
まとめ
TinyGo のコマンドライン補完についてまとめました。TinyGo 本体と別に開発しているので、最新オプションが足りない等のケースが発生することはあります。適宜 Issue や Pull Request 等で教えてください。
良い TinyGo ライフを。