From 0951a8b69e9ae44d87ef145cf4c3f2a8b8fedb98 Mon Sep 17 00:00:00 2001 From: Peer Sommerlund Date: Tue, 29 Apr 2025 07:43:38 +0200 Subject: [PATCH 1/2] Document tuple used in CommitList.marked --- src/components/commitlist.rs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/components/commitlist.rs b/src/components/commitlist.rs index dde38ba06e..77588974d2 100644 --- a/src/components/commitlist.rs +++ b/src/components/commitlist.rs @@ -45,6 +45,8 @@ pub struct CommitList { items: ItemBatch, highlights: Option>>, commits: IndexSet, + /// Commits that are marked. The .0 is used to provide a sort order. + /// It contains an index into self.items.items marked: Vec<(usize, CommitId)>, scroll_state: (Instant, f32), tags: Option, From 19cde0d597720ae2c86d73a983a1a01a13e914fd Mon Sep 17 00:00:00 2001 From: Peer Sommerlund Date: Wed, 16 Apr 2025 07:53:09 +0200 Subject: [PATCH 2/2] Remove CommitList::marked() to avoid exposing internal structure --- src/components/commitlist.rs | 9 --------- src/tabs/revlog.rs | 8 ++++---- 2 files changed, 4 insertions(+), 13 deletions(-) diff --git a/src/components/commitlist.rs b/src/components/commitlist.rs index 77588974d2..171670e01d 100644 --- a/src/components/commitlist.rs +++ b/src/components/commitlist.rs @@ -116,15 +116,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(); diff --git a/src/tabs/revlog.rs b/src/tabs/revlog.rs index ff4f9a0f95..74f7d1b0cc 100644 --- a/src/tabs/revlog.rs +++ b/src/tabs/revlog.rs @@ -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, }, ),