Feature Request
Replace Python-only AST parsing with tree-sitter to enable real AST metric collection across multiple programming languages.
Problem with Current Implementation
The README claims: "Analyze 30+ programming, web, and configuration file types... Collect static metrics: Functions, classes, imports".
In reality, ast.parse() only runs on .py files. For TypeScript, JavaScript, Go, Rust, Java, C++, C#, Ruby, PHP, and others, function and class counts are always 0, and imports are always [].
Proposed Solution
Integrate tree-sitter (via tree-sitter-languages or PyPI tree-sitter bindings) to parse:
- JavaScript / TypeScript (
function_declaration, class_declaration, import_statement)
- Go (
function_declaration, method_declaration, type_declaration, import_declaration)
- Rust (
fn_item, struct_item, impl_item, use_declaration)
- Java / C++ / C# (
method_declaration, class_declaration)
- Python (
FunctionDef, AsyncFunctionDef, ClassDef, Import, ImportFrom)
Feature Request
Replace Python-only AST parsing with
tree-sitterto enable real AST metric collection across multiple programming languages.Problem with Current Implementation
The README claims: "Analyze 30+ programming, web, and configuration file types... Collect static metrics: Functions, classes, imports".
In reality,
ast.parse()only runs on.pyfiles. For TypeScript, JavaScript, Go, Rust, Java, C++, C#, Ruby, PHP, and others, function and class counts are always0, and imports are always[].Proposed Solution
Integrate
tree-sitter(viatree-sitter-languagesor PyPItree-sitterbindings) to parse:function_declaration,class_declaration,import_statement)function_declaration,method_declaration,type_declaration,import_declaration)fn_item,struct_item,impl_item,use_declaration)method_declaration,class_declaration)FunctionDef,AsyncFunctionDef,ClassDef,Import,ImportFrom)