3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

TinyGoAdvent Calendar 2024

Day 7

TinyGo のコマンドラインを補完する tinygo-autocmpl

Last updated at Posted at 2024-12-17

この記事は TinyGo Advent Calendar 2024 7 日目の記事です。
TinyGo に限らずですが、コマンドラインツールは補完が出来ると助かるケースはあるので、そのための設定を紹介します。

tinygo-autocmpl.gif

コマンドライン補完とは何か?

雰囲気としては、、、コマンドラインからコマンドやオプションなどを入力するときに、途中まで入力して TAB を何回か押すと候補が出たりそのまま入力出来たりする機能です。

例えば、以下のように tinyg まで入力して

$ tinyg

TAB を押すと (他に候補が無い場合は) o という文字が補完されて tinygo になります。

$ tinygo

あるいは私の環境では tiny まで入力して TAB を 2 回を押すと以下の表示になりました。これは、 tinydisplaytinygo-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 ライフを。

3
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?