pub struct AstConfig {
pub languages: Vec<AstConfigLanguage>,
pub packs: Vec<AstLanguagePack>,
pub semantic_false_positive_budget_pct: u8,
pub semantic_min_confidence: u8,
}Expand description
Configuration for AST-aware merge via tree-sitter (§6.2).
Controls which languages use AST-level merge as a fallback when diff3 fails. Enabled by default for all built-in language packs.
[merge.ast]
languages = ["rust", "python", "typescript", "javascript", "go"]
packs = ["core", "web", "backend"]
semantic_false_positive_budget_pct = 5
semantic_min_confidence = 70Fields§
§languages: Vec<AstConfigLanguage>Languages for which AST merge is enabled.
Supported values: "rust", "python", "typescript", "javascript", "go".
Empty by default; language packs control baseline enablement.
packs: Vec<AstLanguagePack>Optional language packs that expand to multiple languages.
Packs are additive with languages and deduplicated by the merge layer.
semantic_false_positive_budget_pct: u8Maximum allowed semantic false-positive rate percentage (0-100).
Semantic rules with confidence below min_confidence are downgraded to
generic AST-node conflict reasons to keep diagnostics conservative.
semantic_min_confidence: u8Minimum confidence required for semantic rule-specific diagnostics.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for AstConfig
impl<'de> Deserialize<'de> for AstConfig
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
impl Eq for AstConfig
impl StructuralPartialEq for AstConfig
Auto Trait Implementations§
impl Freeze for AstConfig
impl RefUnwindSafe for AstConfig
impl Send for AstConfig
impl Sync for AstConfig
impl Unpin for AstConfig
impl UnsafeUnpin for AstConfig
impl UnwindSafe for AstConfig
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.