タグ

ブックマーク / zenn.dev/hd_nvim (2)

  • ast-grep VSCode: 構造検索と置換の強力なツール

    こんにちは、 ast-grepの作者Herringtonです。 正規表現でコードを検索したことがある方なら、複数行のマッチングや入れ子構造の処理、コメントの無視などに苦労したことがあるかもしれません。 そこで、ast-grep VSCodeという新しい拡張を紹介します。これは、構造的検索と置換(SSR)という技術を利用して、より正確で効率的な検索と置換を実現するツールです。 構造検索は? テキスト検索と置換の限界 例えば、JavaScriptコードをリファクタリングして、lodash の _.filter 関数をネイティブの Array.prototype.filter メソッド に置き換えたいとします。単純なテキスト検索と置換は次のようになります: これは一部のケースではうまくいくかもしれませんが、いくつかの問題があります。 一行の式しかマッチングできません。コードが複数行にまたがってい

    ast-grep VSCode: 構造検索と置換の強力なツール
    efcl
    efcl 2024/03/14
    ast-grep VSCodeについて
  • TypeScriptパーサーのベンチマーク:Rustツールの性能の謎を解く

    TL;DR: JavaScriptで使われるネイティブパーサーは、言語間の余分な作業のために常に速いとは限りません。これらのオーバーヘッドを回避し、マルチコアを使うことが性能にとって重要です。 Rustは、そのパフォーマンスと安全性の特徴から、JavaScriptエコシステムの中で急速に選択肢の一つになっています。しかし、RustJavaScriptツールに統合することは、特に効率的で移植性の高いプラグインシステムを設計する際に、固有の課題をもたらします。 「JavaScriptツールをRustで書き直すことは、広範な外部貢献を必要としない速度重視のプロジェクトにとって有利です。」 ESLintの作者であるNicholas C. Zakas Rustは、その急な学習曲線のために難しいものになりがちで、さらにコンパイルされたバイナリを異なるプラットフォームに配布することも簡単ではありません

    TypeScriptパーサーのベンチマーク:Rustツールの性能の謎を解く
    efcl
    efcl 2023/12/08
    TypeScriptパーサのベンチマーク比較。 ネイティブアドオンにおけるFFI/シリアライズ/エンコーディング関するオーバヘッド、並行性処理について
  • 1