Files
lazygit/pkg/integration/components/views.go
Stefan Haller 196e0a3c17 Copy gocui files into lazygit repo under pkg/gocui
I copied all files except dot files (.github and .gitignore), the _examples
folder, and go.mod/go.sum.

At some point we may want to copy the files back to the gocui repo when other
clients (e.g. lazydocker) want to use the newer versions of them.
2026-04-30 14:29:08 +02:00

158 lines
3.4 KiB
Go

package components
import (
"fmt"
"github.com/jesseduffield/lazygit/pkg/gocui"
)
type Views struct {
t *TestDriver
}
func (self *Views) Main() *ViewDriver {
return &ViewDriver{
context: "main view",
getView: func() *gocui.View { return self.t.gui.MainView() },
t: self.t,
}
}
func (self *Views) Secondary() *ViewDriver {
return &ViewDriver{
context: "secondary view",
getView: func() *gocui.View { return self.t.gui.SecondaryView() },
t: self.t,
}
}
func (self *Views) regularView(viewName string) *ViewDriver {
return &ViewDriver{
context: fmt.Sprintf("%s view", viewName),
getView: func() *gocui.View { return self.t.gui.View(viewName) },
t: self.t,
}
}
func (self *Views) patchExplorerViewByName(viewName string) *ViewDriver {
return self.regularView(viewName)
}
func (self *Views) MergeConflicts() *ViewDriver {
return self.regularView("mergeConflicts")
}
func (self *Views) Commits() *ViewDriver {
return self.regularView("commits")
}
func (self *Views) Files() *ViewDriver {
return self.regularView("files")
}
func (self *Views) Worktrees() *ViewDriver {
return self.regularView("worktrees")
}
func (self *Views) Status() *ViewDriver {
return self.regularView("status")
}
func (self *Views) Submodules() *ViewDriver {
return self.regularView("submodules")
}
func (self *Views) Information() *ViewDriver {
return self.regularView("information")
}
func (self *Views) AppStatus() *ViewDriver {
return self.regularView("appStatus")
}
func (self *Views) Branches() *ViewDriver {
return self.regularView("localBranches")
}
func (self *Views) Remotes() *ViewDriver {
return self.regularView("remotes")
}
func (self *Views) RemoteBranches() *ViewDriver {
return self.regularView("remoteBranches")
}
func (self *Views) Tags() *ViewDriver {
return self.regularView("tags")
}
func (self *Views) ReflogCommits() *ViewDriver {
return self.regularView("reflogCommits")
}
func (self *Views) SubCommits() *ViewDriver {
return self.regularView("subCommits")
}
func (self *Views) CommitFiles() *ViewDriver {
return self.regularView("commitFiles")
}
func (self *Views) Stash() *ViewDriver {
return self.regularView("stash")
}
func (self *Views) Staging() *ViewDriver {
return self.patchExplorerViewByName("staging")
}
func (self *Views) StagingSecondary() *ViewDriver {
return self.patchExplorerViewByName("stagingSecondary")
}
func (self *Views) PatchBuilding() *ViewDriver {
return self.patchExplorerViewByName("patchBuilding")
}
func (self *Views) PatchBuildingSecondary() *ViewDriver {
// this is not a patch explorer view because you can't actually focus it: it
// just renders content
return self.regularView("patchBuildingSecondary")
}
func (self *Views) Menu() *ViewDriver {
return self.regularView("menu")
}
func (self *Views) Confirmation() *ViewDriver {
return self.regularView("confirmation")
}
func (self *Views) Prompt() *ViewDriver {
return self.regularView("prompt")
}
func (self *Views) CommitMessage() *ViewDriver {
return self.regularView("commitMessage")
}
func (self *Views) CommitDescription() *ViewDriver {
return self.regularView("commitDescription")
}
func (self *Views) Suggestions() *ViewDriver {
return self.regularView("suggestions")
}
func (self *Views) Search() *ViewDriver {
return self.regularView("search")
}
func (self *Views) Tooltip() *ViewDriver {
return self.regularView("tooltip")
}
func (self *Views) Options() *ViewDriver {
return self.regularView("options")
}