Compare src block parameters.

This commit is contained in:
Tom Alexander
2023-10-04 18:02:50 -04:00
parent 1ab7d2f2d7
commit f046b16c11
3 changed files with 83 additions and 21 deletions

View File

@@ -1731,6 +1731,8 @@ fn compare_src_block<'b, 's>(
let mut this_status = DiffStatus::Good;
let mut message = None;
// TODO: Compare :parameters
// Compare language
let language = get_property_quoted_string(emacs, ":language")?;
if language.as_ref().map(String::as_str) != rust.language {
@@ -1769,6 +1771,24 @@ fn compare_src_block<'b, 's>(
}
}
// Compare switches
let parameters = get_property_quoted_string(emacs, ":parameters")?;
match (parameters.as_ref().map(String::as_str), rust.parameters) {
(None, None) => {}
(Some(""), None) => {}
(None, Some("")) => {
unreachable!("The organic parser would return a None instead of an empty string.");
}
(Some(e), Some(r)) if e == r => {}
_ => {
this_status = DiffStatus::Bad;
message = Some(format!(
"Parameters mismatch (emacs != rust) {:?} != {:?}",
parameters, rust.parameters
));
}
}
// Compare number-lines
let number_lines = get_property(emacs, ":number-lines")?;
match (number_lines, &rust.number_lines) {