summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWilfred Hughes <me@wilfred.me.uk>2022-11-06 01:30:07 -0800
committerWilfred Hughes <me@wilfred.me.uk>2022-11-06 01:30:07 -0800
commitcb9e00f964ef2665d879c338cc04266b1f4c94d8 (patch)
tree2476bc25d61ccd03c595e5ae1fb13ccad64a6624
parente8a3da24c51495043ca41d6576065b4159eb5f9e (diff)
Set NovelAtomLHS/RHS with deep in the ChangeMapshared_unique
-rw-r--r--src/diff/graph.rs14
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);
}