Nevermind, it did work.
This commit is contained in:
parent
a89339e472
commit
78a9b93f22
@ -1,12 +1,11 @@
|
||||
use std::borrow::Cow;
|
||||
use std::collections::BTreeSet;
|
||||
use std::fmt::Debug;
|
||||
use std::str::FromStr;
|
||||
|
||||
use super::diff::artificial_diff_scope;
|
||||
use super::diff::artificial_owned_diff_scope;
|
||||
use super::diff::compare_ast_node;
|
||||
use super::diff::DiffEntry;
|
||||
use super::diff::DiffLayer;
|
||||
use super::diff::DiffStatus;
|
||||
use super::sexp::unquote;
|
||||
use super::sexp::Token;
|
||||
@ -422,7 +421,7 @@ where
|
||||
pub(crate) fn compare_property_list_of_list_of_list_of_ast_nodes<
|
||||
'b,
|
||||
's,
|
||||
'x: 'b + 's,
|
||||
'x,
|
||||
R,
|
||||
RG: Fn(R) -> Option<&'b Vec<Vec<Object<'s>>>>,
|
||||
>(
|
||||
@ -481,12 +480,8 @@ pub(crate) fn compare_property_list_of_list_of_list_of_ast_nodes<
|
||||
for (e, r) in value.iter().zip(rust_value) {
|
||||
child_status.push(compare_ast_node(source, e, r.into())?);
|
||||
}
|
||||
let diff_scope = DiffLayer {
|
||||
name: Cow::Owned(emacs_field.to_string()),
|
||||
children: child_status,
|
||||
};
|
||||
// let diff_scope = artificial_diff_scope(emacs_field, child_status)?;
|
||||
return Ok(ComparePropertiesResult::DiffEntry(diff_scope.into()));
|
||||
let diff_scope = artificial_owned_diff_scope(emacs_field, child_status)?;
|
||||
return Ok(ComparePropertiesResult::DiffEntry(diff_scope));
|
||||
}
|
||||
Ok(ComparePropertiesResult::NoChange)
|
||||
}
|
||||
|
@ -331,6 +331,17 @@ pub(crate) fn artificial_diff_scope<'b, 's>(
|
||||
.into())
|
||||
}
|
||||
|
||||
pub(crate) fn artificial_owned_diff_scope<'b, 's, 'x>(
|
||||
name: &'x str,
|
||||
children: Vec<DiffEntry<'b, 's>>,
|
||||
) -> Result<DiffEntry<'b, 's>, Box<dyn std::error::Error>> {
|
||||
Ok(DiffLayer {
|
||||
name: name.to_string().into(),
|
||||
children,
|
||||
}
|
||||
.into())
|
||||
}
|
||||
|
||||
pub(crate) fn compare_ast_node<'b, 's>(
|
||||
source: &'s str,
|
||||
emacs: &'b Token<'s>,
|
||||
|
Loading…
Reference in New Issue
Block a user