diff options
author | Wilfred Hughes <me@wilfred.me.uk> | 2022-11-06 01:30:07 -0800 |
---|---|---|
committer | Wilfred Hughes <me@wilfred.me.uk> | 2022-11-06 01:30:07 -0800 |
commit | cb9e00f964ef2665d879c338cc04266b1f4c94d8 (patch) | |
tree | 2476bc25d61ccd03c595e5ae1fb13ccad64a6624 | |
parent | e8a3da24c51495043ca41d6576065b4159eb5f9e (diff) |
Set NovelAtomLHS/RHS with deep in the ChangeMapshared_unique
-rw-r--r-- | src/diff/graph.rs | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/src/diff/graph.rs b/src/diff/graph.rs index a5ec6a3a2..9ca3a6672 100644 --- a/src/diff/graph.rs +++ b/src/diff/graph.rs @@ -12,7 +12,7 @@ use strsim::normalized_levenshtein; use crate::{ diff::{ - changes::{insert_deep_unchanged, ChangeKind, ChangeMap}, + changes::{insert_deep_novel, insert_deep_unchanged, ChangeKind, ChangeMap}, stack::Stack, }, parse::syntax::{AtomKind, Syntax, SyntaxId}, @@ -806,11 +806,19 @@ pub fn populate_change_map<'a, 'b>( change_map.insert(rhs, ChangeKind::Novel); } } - NovelAtomLHS { .. } | EnterNovelDelimiterLHS { .. } => { + NovelAtomLHS { .. } => { + let lhs = v.lhs_syntax.unwrap(); + insert_deep_novel(lhs, change_map); + } + EnterNovelDelimiterLHS { .. } => { let lhs = v.lhs_syntax.unwrap(); change_map.insert(lhs, ChangeKind::Novel); } - NovelAtomRHS { .. } | EnterNovelDelimiterRHS { .. } => { + NovelAtomRHS { .. } => { + let rhs = v.rhs_syntax.unwrap(); + insert_deep_novel(rhs, change_map); + } + EnterNovelDelimiterRHS { .. } => { let rhs = v.rhs_syntax.unwrap(); change_map.insert(rhs, ChangeKind::Novel); } |