Module language_support

Module language_support 

Source
Expand description

§Multi-Language AST Analysis Support

This module provides comprehensive language support for AST-based analysis, significantly expanding beyond the basic regex-based parsing. Implements proper tree-sitter AST parsing for 20+ programming languages.

§Supported Languages

§Tier 1: Full AST Support (Tree-sitter)

  • Python, JavaScript, TypeScript, Go, Rust (existing)
  • Java, C#, C, C++, PHP, Ruby, Swift, Kotlin (to be added)

§Tier 2: Syntax-Aware Support (Tree-sitter)

  • HTML, CSS, JSON, YAML, XML, Markdown
  • SQL, Bash, PowerShell, Dockerfile

§Tier 3: Basic Structure Analysis (Regex + Heuristics)

  • Scala, Dart, Perl, R, Julia, Elixir, Lua, Haskell

§Key Features

  • Function/Class Extraction: Identify all functions, classes, and methods
  • Documentation Coverage: Analyze docstrings, comments, and documentation
  • Language-Specific Complexity: Tailored complexity metrics per language
  • Import/Dependency Analysis: Accurate dependency graph construction

Re-exports§

pub use ast_language::AstLanguage;
pub use ast_language::LanguageFeatures;
pub use ast_language::LanguageTier;
pub use documentation_analysis::DocumentationAnalyzer;
pub use documentation_analysis::DocumentationCoverage;
pub use function_extraction::ClassInfo;
pub use function_extraction::FunctionExtractor;
pub use function_extraction::FunctionInfo;
pub use language_metrics::LanguageMetrics;
pub use language_metrics::LanguageSpecificComplexity;

Modules§

ast_language
AST Language Support Definitions
documentation_analysis
Documentation Coverage Analysis
function_extraction
Function and Class Extraction from AST
language_metrics
Language-Specific Metrics

Structs§

LanguageAnalysisResult
Comprehensive analysis result for a source file
LanguageSupport
Main language support coordinator

Functions§

analyze_file_language
Main entry point for language analysis