ノード
bca は、ソースファイルの抽象構文木(AST) のノードに関する情報を分析・抽出するコマンドを提供します。
移行しますか? 以下の動詞は、再構成前のフラグによるアクション(
-d、-f、--countなど)を置き換えるものです。移行ガイド を参照してください。
エラー検出
コード内の構文エラーを検出するには、次を実行します:
bca find -t ERROR -I "*.ext" /path/to/your/file/or/directory
[PATHS].../-p, --paths:分析対象のファイルまたはディレクトリ(ディレクトリを指定するとすべてのファイルを分析します)。パスは位置引数または--pathsで指定でき、両者は和集合になります。フラグはサブコマンドの後に置きます。-t, --type:マッチさせるノード種別。複数の種別を指定するにはフラグを繰り返します(-t function_item -t struct_item)。少なくとも 1 つが必須です。文字列 値はノード種別名に正確にマッチします(例えばfunction_item)。純粋な 数値 は代わりに生の tree-sitterkind_idとして解釈され、内部シンボル ID がその数値に等しいノードにマッチします(したがって-t 0は末尾 /ERRORセンチネルにマッチします)。数値形式は文法検査のための緊急避難口であり、不安定です。kind_idは文法のシンボルテーブルへのインデックスであるため、文法バージョンのバンプ後には同じ数値が別のノードを指します。安定した名前を持たない種別がどうしても必要な場合を除き、文字列形式を優先してください。-I, --include:拡張子でファイルを選択するグロブフィルタ(例:*.js、*.rs)。各-Iはちょうど 1 つの値を取るため、後続の位置引数のパスが飲み込まれることはありません。
ノードのカウント
count コマンドで、1 つ以上のノード種別の出現回数をカウントします:
bca count -t <NODE_TYPE> [-t <NODE_TYPE>...] -I "*.ext" \
/path/to/your/file/or/directory
AST の表示
ソースファイルの AST を可視化するには、dump コマンドを使用します(明示的なパスが必須です。ツリー全体の AST ダンプが有用になることはないためです):
bca dump /path/to/your/file/or/directory
コードの一部の分析
コードの特定の部分だけを分析するには、dump サブコマンドの --line-start と --line-end オプションを使用します。例えば、5 行目から 10 行目までの単一の関数の AST を表示するには:
bca dump --line-start 5 --line-end 10 /path/to/your/file/or/directory
これらのフラグは dump と find に固有のものであるため、サブコマンドの後に置く必要があります。短い綴りの --ls / --le は非推奨のエイリアスとして引き続き機能しますが、次のメジャーバージョンで削除される予定です。
関数の一覧表示
すべての関数またはメソッドとその行範囲の一覧を得るには、次を使用します:
bca functions /path/to/your/file/or/directory