Expand description
Language adapter trait for tree-sitter integration.
Each programming language supported by codemod-pilot must implement the
LanguageAdapter trait. This provides tree-sitter grammar access and
language-specific metadata such as file extensions, statement types, and
identifier node types.
§Implementing a new language
ⓘ
use codemod_core::LanguageAdapter;
use tree_sitter::Language;
pub struct RustAdapter;
impl LanguageAdapter for RustAdapter {
fn name(&self) -> &str { "rust" }
fn language(&self) -> Language { tree_sitter_rust::LANGUAGE.into() }
fn file_extensions(&self) -> &[&str] { &["rs"] }
fn statement_node_types(&self) -> &[&str] { &["let_declaration", "expression_statement"] }
fn expression_node_types(&self) -> &[&str] { &["call_expression", "binary_expression"] }
fn identifier_node_types(&self) -> &[&str] { &["identifier", "type_identifier"] }
}Traits§
- Language
Adapter - Trait for language-specific adapters.