mirror of
https://github.com/jesseduffield/lazygit.git
synced 2025-08-09 09:22:48 +03:00
Keep same selection range when quick-starting an interactive rebase
This is useful if you want to move a range of commits, so you select them, and then realize it's better to do it in an interactive rebase. Pressing 'i' preserves the range now.
This commit is contained in:
@@ -64,6 +64,21 @@ func (self *ListCursor) SetSelection(value int) {
|
||||
self.CancelRangeSelect()
|
||||
}
|
||||
|
||||
func (self *ListCursor) SetSelectionRangeAndMode(selectedIdx, rangeStartIdx int, mode RangeSelectMode) {
|
||||
self.selectedIdx = self.clampValue(selectedIdx)
|
||||
self.rangeStartIdx = self.clampValue(rangeStartIdx)
|
||||
self.rangeSelectMode = mode
|
||||
}
|
||||
|
||||
// Returns the selectedIdx, the rangeStartIdx, and the mode of the current selection.
|
||||
func (self *ListCursor) GetSelectionRangeAndMode() (int, int, RangeSelectMode) {
|
||||
if self.IsSelectingRange() {
|
||||
return self.selectedIdx, self.rangeStartIdx, self.rangeSelectMode
|
||||
} else {
|
||||
return self.selectedIdx, self.selectedIdx, self.rangeSelectMode
|
||||
}
|
||||
}
|
||||
|
||||
func (self *ListCursor) clampValue(value int) int {
|
||||
clampedValue := -1
|
||||
if self.list.Len() > 0 {
|
||||
|
Reference in New Issue
Block a user