Function difft::diff::sliders::fix_all_nested_sliders
source · fn fix_all_nested_sliders<'a>(
language: Language,
nodes: &[&'a Syntax<'a>],
change_map: &mut ChangeMap<'a>
)
Expand description
Correct sliders in middle insertions.
Consider the code:
// Before
old1(old2);
// After
old1(new1(old2));
Tree diffing has two possible solution here. Either we’ve added
new1(...)
or we’ve added (new1...)
. Both are valid.
For C-like languages, the first case matches human intuition much better. Fix the slider to make the inner delimiter novel.