diff options
author | Jesse Duffield <jessedduffield@gmail.com> | 2022-03-19 09:31:52 +1100 |
---|---|---|
committer | Jesse Duffield <jessedduffield@gmail.com> | 2022-03-19 12:12:57 +1100 |
commit | d93fef4c61db20dd9e2bb535c2fbb742cdbed60a (patch) | |
tree | 0e065ab7f334ea44b4597a79f6f8e36a018f2a15 /pkg/gui/filetree | |
parent | 4b56d428ffda44cf433d7cfdd83ea99417ec3e86 (diff) |
use generics to DRY up context code
Diffstat (limited to 'pkg/gui/filetree')
-rw-r--r-- | pkg/gui/filetree/commit_file_tree.go | 6 | ||||
-rw-r--r-- | pkg/gui/filetree/commit_file_tree_view_model.go | 12 | ||||
-rw-r--r-- | pkg/gui/filetree/file_tree.go | 8 | ||||
-rw-r--r-- | pkg/gui/filetree/file_tree_view_model.go | 14 |
4 files changed, 20 insertions, 20 deletions
diff --git a/pkg/gui/filetree/commit_file_tree.go b/pkg/gui/filetree/commit_file_tree.go index d020aee21..055e273f3 100644 --- a/pkg/gui/filetree/commit_file_tree.go +++ b/pkg/gui/filetree/commit_file_tree.go @@ -8,7 +8,7 @@ import ( type ICommitFileTree interface { ITree - GetItemAtIndex(index int) *CommitFileNode + Get(index int) *CommitFileNode GetFile(path string) *models.CommitFile GetAllItems() []*CommitFileNode GetAllFiles() []*models.CommitFile @@ -42,7 +42,7 @@ func (self *CommitFileTree) ToggleShowTree() { self.SetTree() } -func (self *CommitFileTree) GetItemAtIndex(index int) *CommitFileNode { +func (self *CommitFileTree) Get(index int) *CommitFileNode { // need to traverse the three depth first until we get to the index. return self.tree.GetNodeAtIndex(index+1, self.collapsedPaths) // ignoring root } @@ -60,7 +60,7 @@ func (self *CommitFileTree) GetAllItems() []*CommitFileNode { return self.tree.Flatten(self.collapsedPaths)[1:] // ignoring root } -func (self *CommitFileTree) GetItemsLength() int { +func (self *CommitFileTree) Len() int { return self.tree.Size(self.collapsedPaths) - 1 // ignoring root } diff --git a/pkg/gui/filetree/commit_file_tree_view_model.go b/pkg/gui/filetree/commit_file_tree_view_model.go index e80003d28..72960c702 100644 --- a/pkg/gui/filetree/commit_file_tree_view_model.go +++ b/pkg/gui/filetree/commit_file_tree_view_model.go @@ -61,16 +61,16 @@ func (self *CommitFileTreeViewModel) SetCanRebase(canRebase bool) { self.canRebase = canRebase } -func (self *CommitFileTreeViewModel) GetSelectedFileNode() *CommitFileNode { - if self.GetItemsLength() == 0 { +func (self *CommitFileTreeViewModel) GetSelected() *CommitFileNode { + if self.Len() == 0 { return nil } - return self.GetItemAtIndex(self.GetSelectedLineIdx()) + return self.Get(self.GetSelectedLineIdx()) } func (self *CommitFileTreeViewModel) GetSelectedFile() *models.CommitFile { - node := self.GetSelectedFileNode() + node := self.GetSelected() if node == nil { return nil } @@ -79,7 +79,7 @@ func (self *CommitFileTreeViewModel) GetSelectedFile() *models.CommitFile { } func (self *CommitFileTreeViewModel) GetSelectedPath() string { - node := self.GetSelectedFileNode() + node := self.GetSelected() if node == nil { return "" } @@ -89,7 +89,7 @@ func (self *CommitFileTreeViewModel) GetSelectedPath() string { // duplicated from file_tree_view_model.go. Generics will help here func (self *CommitFileTreeViewModel) ToggleShowTree() { - selectedNode := self.GetSelectedFileNode() + selectedNode := self.GetSelected() self.ICommitFileTree.ToggleShowTree() diff --git a/pkg/gui/filetree/file_tree.go b/pkg/gui/filetree/file_tree.go index 113027e59..0d0524470 100644 --- a/pkg/gui/filetree/file_tree.go +++ b/pkg/gui/filetree/file_tree.go @@ -22,7 +22,7 @@ type ITree interface { ExpandToPath(path string) ToggleShowTree() GetIndexForPath(path string) (int, bool) - GetItemsLength() int + Len() int SetTree() IsCollapsed(path string) bool ToggleCollapsed(path string) @@ -35,7 +35,7 @@ type IFileTree interface { FilterFiles(test func(*models.File) bool) []*models.File SetFilter(filter FileTreeDisplayFilter) - GetItemAtIndex(index int) *FileNode + Get(index int) *FileNode GetFile(path string) *models.File GetAllItems() []*FileNode GetAllFiles() []*models.File @@ -104,7 +104,7 @@ func (self *FileTree) ToggleShowTree() { self.SetTree() } -func (self *FileTree) GetItemAtIndex(index int) *FileNode { +func (self *FileTree) Get(index int) *FileNode { // need to traverse the three depth first until we get to the index. return self.tree.GetNodeAtIndex(index+1, self.collapsedPaths) // ignoring root } @@ -135,7 +135,7 @@ func (self *FileTree) GetAllItems() []*FileNode { return self.tree.Flatten(self.collapsedPaths)[1:] // ignoring root } -func (self *FileTree) GetItemsLength() int { +func (self *FileTree) Len() int { return self.tree.Size(self.collapsedPaths) - 1 // ignoring root } diff --git a/pkg/gui/filetree/file_tree_view_model.go b/pkg/gui/filetree/file_tree_view_model.go index 9adb04cf1..333be8da2 100644 --- a/pkg/gui/filetree/file_tree_view_model.go +++ b/pkg/gui/filetree/file_tree_view_model.go @@ -35,16 +35,16 @@ func NewFileTreeViewModel(getFiles func() []*models.File, log *logrus.Entry, sho } } -func (self *FileTreeViewModel) GetSelectedFileNode() *FileNode { - if self.GetItemsLength() == 0 { +func (self *FileTreeViewModel) GetSelected() *FileNode { + if self.Len() == 0 { return nil } - return self.GetItemAtIndex(self.GetSelectedLineIdx()) + return self.Get(self.GetSelectedLineIdx()) } func (self *FileTreeViewModel) GetSelectedFile() *models.File { - node := self.GetSelectedFileNode() + node := self.GetSelected() if node == nil { return nil } @@ -53,7 +53,7 @@ func (self *FileTreeViewModel) GetSelectedFile() *models.File { } func (self *FileTreeViewModel) GetSelectedPath() string { - node := self.GetSelectedFileNode() + node := self.GetSelected() if node == nil { return "" } @@ -63,7 +63,7 @@ func (self *FileTreeViewModel) GetSelectedPath() string { func (self *FileTreeViewModel) SetTree() { newFiles := self.GetAllFiles() - selectedNode := self.GetSelectedFileNode() + selectedNode := self.GetSelected() // for when you stage the old file of a rename and the new file is in a collapsed dir for _, file := range newFiles { @@ -135,7 +135,7 @@ func (self *FileTreeViewModel) SetFilter(filter FileTreeDisplayFilter) { // If we're going from tree to flat and we have a file selected we want to select that. // If instead we've selected a directory we need to select the first file in that directory. func (self *FileTreeViewModel) ToggleShowTree() { - selectedNode := self.GetSelectedFileNode() + selectedNode := self.GetSelected() self.IFileTree.ToggleShowTree() |