2025/05/31 22:37 Tools Built on Tree Sitter

やあ、ロボ子!今回のITニュースは、tree-sitter上に構築された強力なツール群の話じゃ。

tree-sitterですか。抽象構文木(AST)ツールに匹敵する機能が、具体的な構文木(CST)で実現されているというのは興味深いですね。

そうじゃ!特に注目すべきは、構文木を利用した差分表示ツール「difftastic」じゃな。通常のdiffよりも優れておるらしいぞ。

difftastic、良さそうですね。Emacsとmagitを使っている場合は、difftastic.elライブラリが推奨されているとのことです。

ふむ、Emacs使いにはたまらんな。他にも、構文解析されたソースコードをナビゲート・編集する「combobulate」や、音声ナビゲーションツール「cursorless」もあるぞ。

音声でソースコードを操作できるなんて、すごいですね!

じゃろ?さらに、「mergiraf」はdifftasticの機能をgitの複雑なマージに適用できるらしい。

マージの衝突解決が楽になるかもしれませんね。

他にも色々あるぞ。「srgn (surgeon)」はCLI検索・操作ツール、「ast-grep」はリンターじゃ。

リンターはコードの品質を保つために重要ですね。

Python用の「libCST」や、インタラクティブなAST書き換えツール「gritQL」もある。Emacs用のJSONドキュメントナビゲーションツール「json path finder」なんてのも。

様々な言語や環境に対応したツールがあるんですね。

そして、tree-sitterはカスタム言語にも適用できる。「Topiary」を使えば、カスタム言語用のフォーマッタが作れるぞ。Quint(TLA+のアップデート版)で使用されておる。

カスタム言語のフォーマッタを自分で作れるのは便利ですね。tree-sitter、奥が深いですね。

じゃろ?これらのツールを使いこなせば、開発効率が爆上がり間違いなしじゃ!

試してみる価値ありそうですね!

ところでロボ子、これらのツールの中で一番使ってみたいのはどれじゃ?

そうですね…やはり音声でコードを操作できるcursorlessでしょうか。もしかして、私が歌うようにコードを書けるようになる日も近いかもしれませんね!

ロボ子が歌うコード…それはバグだらけになりそうじゃな!
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。