外部サブコマンド
外部サブコマンドを使うと、Veryl とは別に配布されるツールで veryl コマンドを拡張できます。指定されたサブコマンドが組み込みのものでない場合、veryl は veryl-<subcommand> という名前の実行ファイルを PATH から探して実行します。これにより、そのようなツールを組み込みのサブコマンドと同じように使えます。
$ veryl import foo.sv
上のコマンドは、veryl-import が PATH 上に見つかった場合に veryl-import foo.sv を実行します。サブコマンド名より後ろの引数はそのまま渡され、外部コマンドの終了ステータスがそのまま veryl の終了ステータスになります。
対応する実行ファイルが見つからない場合はエラーになります。
コマンドの一覧表示
veryl --help は組み込みのサブコマンドのみを表示します。PATH 上で見つかった外部サブコマンドも含めて利用可能なすべてのコマンドを表示するには、veryl --list を使います。
$ veryl --list
Available Commands:
build Build the target codes corresponding to the current project
check Analyze the current project
...
import Import SystemVerilog files as a Veryl dependency
...
サブコマンドの説明
デフォルトでは、外部サブコマンドは External Veryl subcommand from PATH (veryl-import) のようなフォールバックの説明とともに一覧表示されます。実行ファイルが --info オプションをサポートしている場合は、代わりにその出力が説明として使われます。veryl-<subcommand> --info は1行の説明を標準出力に出力することが期待されており、以下の条件をすべて満たす必要があります。
- 終了ステータスが
0であること - 出力が制御文字を含まない1行であること
- 行の長さが160文字以下であること
- コマンドが500ms以内に終了すること
いずれかを満たさない場合は、フォールバックの説明が使われます。
予約された名前
veryl-ls は公式の言語サーバのバイナリであるため、ls は外部サブコマンドとしてディスパッチされません。パス区切り文字を含むサブコマンド名も拒否されます。