Avoid exposing internal tuple in CommitList.marked (#2638)

* Document tuple used in CommitList.marked

* Remove CommitList::marked() to avoid exposing internal structure
This commit is contained in:
Peer Sommerlund 2025-05-29 14:12:12 +02:00 committed by GitHub
parent 69fd7e664c
commit dea3d25bcc
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 7 additions and 13 deletions

View file

@ -45,6 +45,9 @@ pub struct CommitList {
items: ItemBatch,
highlights: Option<Rc<IndexSet<CommitId>>>,
commits: IndexSet<CommitId>,
/// The marked commits.
/// `self.marked[].0` holds the commit index into `self.items.items` - used for ordering the list.
/// `self.marked[].1` is the commit id of the marked commit.
marked: Vec<(usize, CommitId)>,
scroll_state: (Instant, f32),
tags: Option<Tags>,
@ -114,15 +117,6 @@ impl CommitList {
self.marked.len()
}
///
#[expect(
clippy::missing_const_for_fn,
reason = "as of 1.86.0 clippy wants this to be const even though that breaks"
)]
pub fn marked(&self) -> &[(usize, CommitId)] {
&self.marked
}
///
pub fn clear_marked(&mut self) {
self.marked.clear();

View file

@ -586,19 +586,19 @@ impl Component for Revlog {
self.queue.push(InternalEvent::OpenPopup(
StackablePopupOpen::CompareCommits(
InspectCommitOpen::new(
self.list.marked()[0].1,
self.list.marked_commits()[0],
),
),
));
return Ok(EventState::Consumed);
} else if self.list.marked_count() == 2 {
//compare two marked commits
let marked = self.list.marked();
let marked = self.list.marked_commits();
self.queue.push(InternalEvent::OpenPopup(
StackablePopupOpen::CompareCommits(
InspectCommitOpen {
commit_id: marked[0].1,
compare_id: Some(marked[1].1),
commit_id: marked[0],
compare_id: Some(marked[1]),
tags: None,
},
),