Skip to main content

semantic/
lib.rs

1// SPDX-License-Identifier: Apache-2.0
2//! Semantic analysis and parser-heavy diff support.
3//!
4//! The native hunk-level text merge engine lives in the separate
5//! `heddle-merge` crate so it can be used by non-semantic CLI builds.
6
7pub mod analysis;
8pub mod cache;
9pub mod cross_file_resolution;
10pub mod diff;
11pub mod merge_driver;
12pub mod parser;
13pub mod semantic_index;
14pub mod symbol_resolver;
15
16pub use analysis::{
17    AggregateKind, AggregatedChange, AggregationResult, HotEventKind, HotSpot, HotSpotKey,
18    HotSpotKeyValue, HotSpotParams, HotSpotsReport, SimilarityMethod, aggregate_changes,
19    analyze_actor_histogram, analyze_hot_spots, classify_modification,
20    classify_modification_with_confidence, compute_similarity, detect_file_renames,
21    detect_function_changes,
22};
23pub use cache::{SemanticParseCache, SemanticParseCacheStats};
24pub use diff::{
25    DiffKind, SemanticBudget, SemanticCheckOnlyResult, SemanticCheckStatus, SemanticDiffOptions,
26    SemanticDiffResult, SemanticFallbackReason, SemanticSummaryResult, WorktreeStatus,
27    semantic_check_only, semantic_check_only_worktree, semantic_diff, semantic_diff_summary,
28    semantic_diff_summary_worktree, semantic_diff_worktree,
29};
30pub use merge_driver::semantic_three_way_merge;
31pub use parser::{Language, ParsedFile};