refactor: remove unused review state and duplicate storage reads

This commit is contained in:
Valdemar Lorenzen
2026-10-16 18:49:28 +02:00
parent 66250d6c40
commit 14abdfd2cf
6 changed files with 36 additions and 59 deletions
+17 -10
View File
@@ -49,13 +49,11 @@ impl Editor {
self.review_diff_mut().unwrap().local_review.initialized = true;
self.review_diff_mut().unwrap().local_review.document = Review::new(root.clone());
let store = crate::review::Store::open(&directory)?;
let choices = store.list(&root)?;
if choices.len() == 1 {
self.review_diff_mut().unwrap().local_review.document =
store.load(&root, choices[0].0)?;
} else if choices.len() > 1 {
self.review_diff_mut().unwrap().local_review.choices = choices;
self.open_review_selector()?;
let mut reviews = store.list(&root)?;
if reviews.len() == 1 {
self.review_diff_mut().unwrap().local_review.document = reviews.pop().unwrap();
} else if reviews.len() > 1 {
self.show_review_selector(reviews)?;
}
Ok(())
}
@@ -71,15 +69,24 @@ impl Editor {
.as_ref()
.ok_or("Comparison is loading")?
.root;
let choices = crate::review::Store::open(directory)?.list(root)?;
let reviews = crate::review::Store::open(directory)?.list(root)?;
self.show_review_selector(reviews)
}
fn show_review_selector(&mut self, reviews: Vec<Review>) -> Result<(), String> {
let mut text = String::from(
"# Local reviews\n\nEnter opens the review under the caret.\n:diff.review.new starts a separate review.\n",
);
for (id, label) in &choices {
for review in reviews {
let id = review.storage_id.unwrap();
let label = review
.summary
.lines()
.find(|line| !line.trim().is_empty())
.map_or_else(|| format!("Review {id}"), |line| line.trim().to_owned());
use std::fmt::Write as _;
writeln!(text, "\n## Review #{id} · {label}").unwrap();
}
self.review_diff_mut().unwrap().local_review.choices = choices;
let row = text
.lines()
.position(|line| line.starts_with("## Review #"))