Skip to main content

Crate gdeye

Crate gdeye 

Source
Expand description

gdeye - Static analysis library for GDScript (Godot 4.x)

This library provides comprehensive static analysis capabilities for GDScript, including parsing, symbol extraction, type inference, control flow analysis, and lint rule checking.

§Example

use gdeye::{AnalysisBuilder, Config};
use std::path::Path;

// Create analysis context for a Godot project
let analysis = AnalysisBuilder::new()
    .project_root(Path::new("/path/to/godot/project"))
    .build()
    .expect("Failed to create analysis context");

// Analyze all GDScript files
let result = analysis.analyze_project().expect("Analysis failed");

// Process diagnostics
for file_result in result.files() {
    for diagnostic in file_result.diagnostics() {
        println!("{}:{}: {}", file_result.path().display(), diagnostic.line, diagnostic.message);
    }
}

Re-exports§

pub use analysis::analyze_source;
pub use analysis::analyze_source_impl;
pub use analysis::AnalysisBuilder;
pub use analysis::AnalysisPipeline;
pub use analysis::FileAnalysis;
pub use analysis::ProjectAnalysis;
pub use analysis::ProjectContext;
pub use analysis::SingleFileAnalysis;
pub use config::Config;
pub use error::Error;
pub use error::Result;
pub use parser::ParsedFile;
pub use rules::DiagLabel;
pub use rules::Diagnostic;
pub use rules::Fix;
pub use rules::Rule;
pub use rules::RuleContext;
pub use rules::Severity;
pub use rules::TextEdit;
pub use symbols::FileSymbols;
pub use symbols::FuncDecl;
pub use symbols::ParamDecl;
pub use symbols::SignalDecl;
pub use symbols::VarDecl;
pub use cache::AnalysisCache;
pub use cache::CacheStats;
pub use cache::CachedFile;
pub use cache::CachedProjectData;
pub use document::Document;
pub use document::Position;
pub use document::Range;
pub use pipeline::process_file;
pub use pipeline::process_files_parallel;
pub use pipeline::process_source;
pub use pipeline::ProcessedFile;
pub use project_index::IndexedFile;
pub use project_index::ProjectIndex;
pub use symbol_index::SymbolAtResult;
pub use symbol_index::SymbolDef;
pub use symbol_index::SymbolId;
pub use symbol_index::SymbolIndex;
pub use symbol_index::SymbolKind;
pub use symbol_index::SymbolRef;

Modules§

analysis
Unified analysis API for gdeye.
cache
Analysis cache for incremental compilation.
call_graph
Call graph construction and parameter type inference.
cfg
classdb
classdb_loader
config
cross_file_usage
document
Document representation with versioning and position mapping.
error
Error types for gdeye operations.
fix
flow
fmt
lsp
Language Server Protocol implementation for GDScript.
mcp
Model Context Protocol (MCP) server for gdeye.
parser
pipeline
Unified file processing pipeline for gdeye.
project
project_index
Unified project index for file symbol storage.
report
rules
scene
symbol_index
Symbol index for fast position-based lookups.
symbols
types
util

Constants§

VERSION
Library version