summaryrefslogtreecommitdiffstats
path: root/pkg/gui/gui.go
diff options
context:
space:
mode:
authorJesse Duffield <jessedduffield@gmail.com>2022-08-09 21:27:12 +1000
committerJesse Duffield <jessedduffield@gmail.com>2022-08-13 13:55:08 +1000
commitba96baee32f5d02173312b357327eb7478492f89 (patch)
treefbd0c91d5799f9519d617f7041518c0c7e14d2bc /pkg/gui/gui.go
parentd890238c7bcbdd62e7158df0c1f3f0e5c0b05b66 (diff)
move code from main into app package to allow test to be injected
Diffstat (limited to 'pkg/gui/gui.go')
-rw-r--r--pkg/gui/gui.go32
1 files changed, 17 insertions, 15 deletions
diff --git a/pkg/gui/gui.go b/pkg/gui/gui.go
index 11c8af78b..8be5a4a4d 100644
--- a/pkg/gui/gui.go
+++ b/pkg/gui/gui.go
@@ -10,6 +10,7 @@ import (
"time"
"github.com/jesseduffield/gocui"
+ appTypes "github.com/jesseduffield/lazygit/pkg/app/types"
"github.com/jesseduffield/lazygit/pkg/commands"
"github.com/jesseduffield/lazygit/pkg/commands/git_commands"
"github.com/jesseduffield/lazygit/pkg/commands/git_config"
@@ -31,6 +32,7 @@ import (
"github.com/jesseduffield/lazygit/pkg/gui/services/custom_commands"
"github.com/jesseduffield/lazygit/pkg/gui/style"
"github.com/jesseduffield/lazygit/pkg/gui/types"
+ integrationTypes "github.com/jesseduffield/lazygit/pkg/integration/types"
"github.com/jesseduffield/lazygit/pkg/tasks"
"github.com/jesseduffield/lazygit/pkg/theme"
"github.com/jesseduffield/lazygit/pkg/updates"
@@ -213,7 +215,7 @@ const (
COMPLETE
)
-func (gui *Gui) onNewRepo(startArgs types.StartArgs, reuseState bool) error {
+func (gui *Gui) onNewRepo(startArgs appTypes.StartArgs, reuseState bool) error {
var err error
gui.git, err = commands.NewGitCommand(
gui.Common,
@@ -245,7 +247,7 @@ func (gui *Gui) onNewRepo(startArgs types.StartArgs, reuseState bool) error {
// it gets a bit confusing to land back in the status panel when visiting a repo
// you've already switched from. There's no doubt some easy way to make the UX
// optimal for all cases but I'm too lazy to think about what that is right now
-func (gui *Gui) resetState(startArgs types.StartArgs, reuseState bool) {
+func (gui *Gui) resetState(startArgs appTypes.StartArgs, reuseState bool) {
currentDir, err := os.Getwd()
if reuseState {
@@ -300,28 +302,28 @@ func (gui *Gui) resetState(startArgs types.StartArgs, reuseState bool) {
gui.RepoStateMap[Repo(currentDir)] = gui.State
}
-func initialScreenMode(startArgs types.StartArgs) WindowMaximisation {
- if startArgs.FilterPath != "" || startArgs.GitArg != types.GitArgNone {
+func initialScreenMode(startArgs appTypes.StartArgs) WindowMaximisation {
+ if startArgs.FilterPath != "" || startArgs.GitArg != appTypes.GitArgNone {
return SCREEN_HALF
} else {
return SCREEN_NORMAL
}
}
-func initialContext(contextTree *context.ContextTree, startArgs types.StartArgs) types.IListContext {
+func initialContext(contextTree *context.ContextTree, startArgs appTypes.StartArgs) types.IListContext {
var initialContext types.IListContext = contextTree.Files
if startArgs.FilterPath != "" {
initialContext = contextTree.LocalCommits
- } else if startArgs.GitArg != types.GitArgNone {
+ } else if startArgs.GitArg != appTypes.GitArgNone {
switch startArgs.GitArg {
- case types.GitArgStatus:
+ case appTypes.GitArgStatus:
initialContext = contextTree.Files
- case types.GitArgBranch:
+ case appTypes.GitArgBranch:
initialContext = contextTree.Branches
- case types.GitArgLog:
+ case appTypes.GitArgLog:
initialContext = contextTree.LocalCommits
- case types.GitArgStash:
+ case appTypes.GitArgStash:
initialContext = contextTree.Stash
default:
panic("unhandled git arg")
@@ -417,7 +419,7 @@ var RuneReplacements = map[rune]string{
graph.CommitSymbol: "o",
}
-func (gui *Gui) initGocui(headless bool, test types.Test) (*gocui.Gui, error) {
+func (gui *Gui) initGocui(headless bool, test integrationTypes.IntegrationTest) (*gocui.Gui, error) {
recordEvents := RecordingEvents()
playMode := gocui.NORMAL
if recordEvents {
@@ -476,8 +478,8 @@ func (gui *Gui) viewTabMap() map[string][]context.TabView {
}
// Run: setup the gui with keybindings and start the mainloop
-func (gui *Gui) Run(startArgs types.StartArgs) error {
- g, err := gui.initGocui(Headless(), startArgs.Test)
+func (gui *Gui) Run(startArgs appTypes.StartArgs) error {
+ g, err := gui.initGocui(Headless(), startArgs.IntegrationTest)
if err != nil {
return err
}
@@ -492,7 +494,7 @@ func (gui *Gui) Run(startArgs types.StartArgs) error {
})
deadlock.Opts.Disable = !gui.Debug
- gui.handleTestMode(startArgs.Test)
+ gui.handleTestMode(startArgs.IntegrationTest)
gui.g.OnSearchEscape = gui.onSearchEscape
if err := gui.Config.ReloadUserConfig(); err != nil {
@@ -553,7 +555,7 @@ func (gui *Gui) Run(startArgs types.StartArgs) error {
return gui.g.MainLoop()
}
-func (gui *Gui) RunAndHandleError(startArgs types.StartArgs) error {
+func (gui *Gui) RunAndHandleError(startArgs appTypes.StartArgs) error {
gui.stopChan = make(chan struct{})
return utils.SafeWithError(func() error {
if err := gui.Run(startArgs); err != nil {