mirror of
https://github.com/jesseduffield/lazygit.git
synced 2025-09-16 09:16:26 +02:00
Set groundwork for better disabled reasons with range select
Something dumb that we're currently doing is expecting list items to define an ID method which returns a string. We use that when copying items to clipboard with ctrl+o and when getting a ref name for diffing. This commit gets us a little deeper into that hole by explicitly requiring list items to implement that method so that we can easily use the new helper functions in list_controller_trait.go. In future we need to just remove the whole ID thing entirely but I'm too lazy to do that right now.
This commit is contained in:
@@ -242,6 +242,12 @@ type MenuItem struct {
|
||||
Section *MenuSection
|
||||
}
|
||||
|
||||
// Defining this for the sake of conforming to the HasID interface, which is used
|
||||
// in list contexts.
|
||||
func (self *MenuItem) ID() string {
|
||||
return self.Label
|
||||
}
|
||||
|
||||
type Model struct {
|
||||
CommitFiles []*models.CommitFile
|
||||
Files []*models.File
|
||||
|
@@ -136,6 +136,7 @@ type IListContext interface {
|
||||
Context
|
||||
|
||||
GetSelectedItemId() string
|
||||
GetSelectedItemIds() ([]string, int, int)
|
||||
IsItemVisible(item HasUrn) bool
|
||||
|
||||
GetList() IList
|
||||
|
@@ -6,3 +6,8 @@ type Suggestion struct {
|
||||
// label is what is actually displayed so it can e.g. contain color
|
||||
Label string
|
||||
}
|
||||
|
||||
// Conforming to the HasID interface, which is needed for list contexts
|
||||
func (self *Suggestion) ID() string {
|
||||
return self.Value
|
||||
}
|
||||
|
Reference in New Issue
Block a user