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 behavior;
9pub mod cache;
10pub mod cross_file_resolution;
11pub mod diff;
12pub mod index_assembly;
13pub mod merge_driver;
14pub mod parser;
15pub mod semantic_index;
16pub mod symbol_resolver;
17
18pub use analysis::{
19    AggregateKind, AggregatedChange, AggregationResult, FunctionRenameCandidate,
20    FunctionRenameResolution, HotEventKind, HotSpot, HotSpotKey, HotSpotKeyValue, HotSpotParams,
21    HotSpotsReport, SimilarityMethod, aggregate_changes, analyze_actor_histogram,
22    analyze_hot_spots, classify_modification, classify_modification_with_confidence,
23    compute_similarity, detect_file_renames, detect_function_changes, resolve_function_rename,
24};
25pub use cache::{SemanticParseCache, SemanticParseCacheStats};
26pub use diff::{
27    DiffKind, SemanticBudget, SemanticCheckOnlyResult, SemanticCheckStatus, SemanticDiffOptions,
28    SemanticDiffResult, SemanticFallbackReason, SemanticSummaryResult, WorktreeStatus,
29    semantic_check_only, semantic_check_only_worktree, semantic_diff, semantic_diff_summary,
30    semantic_diff_summary_worktree, semantic_diff_worktree,
31};
32pub use merge_driver::semantic_three_way_merge;
33pub use parser::{Language, ParsedFile};