summaryrefslogtreecommitdiffstats
path: root/pkg/gui
diff options
context:
space:
mode:
authorJesse Duffield <jessedduffield@gmail.com>2020-03-29 10:11:15 +1100
committerJesse Duffield <jessedduffield@gmail.com>2020-03-29 11:37:29 +1100
commita2790cfe8e6705ebd81c63df2154ec82cb645ae3 (patch)
treeba41523fe4726471a8dfab7c29c93a0365dcb67b /pkg/gui
parent624ae45ebb3f54499a25c4eba0844fa971277c34 (diff)
rename to filtered mode
Diffstat (limited to 'pkg/gui')
-rw-r--r--pkg/gui/branches_panel.go6
-rw-r--r--pkg/gui/commits_panel.go36
-rw-r--r--pkg/gui/gui.go40
-rw-r--r--pkg/gui/keybindings.go2
-rw-r--r--pkg/gui/reflog_panel.go9
-rw-r--r--pkg/gui/scoping_menu_panel.go16
-rw-r--r--pkg/gui/stash_panel.go2
7 files changed, 59 insertions, 52 deletions
diff --git a/pkg/gui/branches_panel.go b/pkg/gui/branches_panel.go
index 3d1692844..c7cba8aea 100644
--- a/pkg/gui/branches_panel.go
+++ b/pkg/gui/branches_panel.go
@@ -263,7 +263,7 @@ func (gui *Gui) deleteNamedBranch(g *gocui.Gui, v *gocui.View, selectedBranch *c
}
func (gui *Gui) mergeBranchIntoCheckedOutBranch(branchName string) error {
- if ok, err := gui.validateNotInScopedMode(); err != nil || !ok {
+ if ok, err := gui.validateNotInFilterMode(); err != nil || !ok {
return err
}
@@ -290,7 +290,7 @@ func (gui *Gui) mergeBranchIntoCheckedOutBranch(branchName string) error {
}
func (gui *Gui) handleMerge(g *gocui.Gui, v *gocui.View) error {
- if ok, err := gui.validateNotInScopedMode(); err != nil || !ok {
+ if ok, err := gui.validateNotInFilterMode(); err != nil || !ok {
return err
}
@@ -304,7 +304,7 @@ func (gui *Gui) handleRebaseOntoLocalBranch(g *gocui.Gui, v *gocui.View) error {
}
func (gui *Gui) handleRebaseOntoBranch(selectedBranchName string) error {
- if ok, err := gui.validateNotInScopedMode(); err != nil || !ok {
+ if ok, err := gui.validateNotInFilterMode(); err != nil || !ok {
return err
}
diff --git a/pkg/gui/commits_panel.go b/pkg/gui/commits_panel.go
index 0bdc18fb0..80fcf23c8 100644
--- a/pkg/gui/commits_panel.go
+++ b/pkg/gui/commits_panel.go
@@ -62,7 +62,7 @@ func (gui *Gui) handleCommitSelect(g *gocui.Gui, v *gocui.View) error {
}
cmd := gui.OSCommand.ExecutableFromString(
- gui.GitCommand.ShowCmdStr(commit.Sha, gui.State.LogScope),
+ gui.GitCommand.ShowCmdStr(commit.Sha, gui.State.FilterPath),
)
if err := gui.newPtyTask("main", cmd); err != nil {
gui.Log.Error(err)
@@ -122,7 +122,7 @@ func (gui *Gui) refreshCommitsWithLimit() error {
return err
}
- commits, err := builder.GetCommits(commands.GetCommitsOptions{Limit: gui.State.Panels.Commits.LimitCommits, LogScope: gui.State.LogScope})
+ commits, err := builder.GetCommits(commands.GetCommitsOptions{Limit: gui.State.Panels.Commits.LimitCommits, FilterPath: gui.State.FilterPath})
if err != nil {
return err
}
@@ -140,7 +140,7 @@ func (gui *Gui) refreshCommitsWithLimit() error {
// specific functions
func (gui *Gui) handleCommitSquashDown(g *gocui.Gui, v *gocui.View) error {
- if ok, err := gui.validateNotInScopedMode(); err != nil || !ok {
+ if ok, err := gui.validateNotInFilterMode(); err != nil || !ok {
return err
}
@@ -165,7 +165,7 @@ func (gui *Gui) handleCommitSquashDown(g *gocui.Gui, v *gocui.View) error {
}
func (gui *Gui) handleCommitFixup(g *gocui.Gui, v *gocui.View) error {
- if ok, err := gui.validateNotInScopedMode(); err != nil || !ok {
+ if ok, err := gui.validateNotInFilterMode(); err != nil || !ok {
return err
}
@@ -190,7 +190,7 @@ func (gui *Gui) handleCommitFixup(g *gocui.Gui, v *gocui.View) error {
}
func (gui *Gui) handleRenameCommit(g *gocui.Gui, v *gocui.View) error {
- if ok, err := gui.validateNotInScopedMode(); err != nil || !ok {
+ if ok, err := gui.validateNotInFilterMode(); err != nil || !ok {
return err
}
@@ -215,7 +215,7 @@ func (gui *Gui) handleRenameCommit(g *gocui.Gui, v *gocui.View) error {
}
func (gui *Gui) handleRenameCommitEditor(g *gocui.Gui, v *gocui.View) error {
- if ok, err := gui.validateNotInScopedMode(); err != nil || !ok {
+ if ok, err := gui.validateNotInFilterMode(); err != nil || !ok {
return err
}
@@ -265,7 +265,7 @@ func (gui *Gui) handleMidRebaseCommand(action string) (bool, error) {
}
func (gui *Gui) handleCommitDelete(g *gocui.Gui, v *gocui.View) error {
- if ok, err := gui.validateNotInScopedMode(); err != nil || !ok {
+ if ok, err := gui.validateNotInFilterMode(); err != nil || !ok {
return err
}
@@ -286,7 +286,7 @@ func (gui *Gui) handleCommitDelete(g *gocui.Gui, v *gocui.View) error {
}
func (gui *Gui) handleCommitMoveDown(g *gocui.Gui, v *gocui.View) error {
- if ok, err := gui.validateNotInScopedMode(); err != nil || !ok {
+ if ok, err := gui.validateNotInFilterMode(); err != nil || !ok {
return err
}
@@ -313,7 +313,7 @@ func (gui *Gui) handleCommitMoveDown(g *gocui.Gui, v *gocui.View) error {
}
func (gui *Gui) handleCommitMoveUp(g *gocui.Gui, v *gocui.View) error {
- if ok, err := gui.validateNotInScopedMode(); err != nil || !ok {
+ if ok, err := gui.validateNotInFilterMode(); err != nil || !ok {
return err
}
@@ -340,7 +340,7 @@ func (gui *Gui) handleCommitMoveUp(g *gocui.Gui, v *gocui.View) error {
}
func (gui *Gui) handleCommitEdit(g *gocui.Gui, v *gocui.View) error {
- if ok, err := gui.validateNotInScopedMode(); err != nil || !ok {
+ if ok, err := gui.validateNotInFilterMode(); err != nil || !ok {
return err
}
@@ -359,7 +359,7 @@ func (gui *Gui) handleCommitEdit(g *gocui.Gui, v *gocui.View) error {
}
func (gui *Gui) handleCommitAmendTo(g *gocui.Gui, v *gocui.View) error {
- if ok, err := gui.validateNotInScopedMode(); err != nil || !ok {
+ if ok, err := gui.validateNotInFilterMode(); err != nil || !ok {
return err
}
@@ -372,7 +372,7 @@ func (gui *Gui) handleCommitAmendTo(g *gocui.Gui, v *gocui.View) error {
}
func (gui *Gui) handleCommitPick(g *gocui.Gui, v *gocui.View) error {
- if ok, err := gui.validateNotInScopedMode(); err != nil || !ok {
+ if ok, err := gui.validateNotInFilterMode(); err != nil || !ok {
return err
}
@@ -390,7 +390,7 @@ func (gui *Gui) handleCommitPick(g *gocui.Gui, v *gocui.View) error {
}
func (gui *Gui) handleCommitRevert(g *gocui.Gui, v *gocui.View) error {
- if ok, err := gui.validateNotInScopedMode(); err != nil || !ok {
+ if ok, err := gui.validateNotInFilterMode(); err != nil || !ok {
return err
}
@@ -402,7 +402,7 @@ func (gui *Gui) handleCommitRevert(g *gocui.Gui, v *gocui.View) error {
}
func (gui *Gui) handleCopyCommit(g *gocui.Gui, v *gocui.View) error {
- if ok, err := gui.validateNotInScopedMode(); err != nil || !ok {
+ if ok, err := gui.validateNotInFilterMode(); err != nil || !ok {
return err
}
@@ -445,7 +445,7 @@ func (gui *Gui) addCommitToCherryPickedCommits(index int) {
}
func (gui *Gui) handleCopyCommitRange(g *gocui.Gui, v *gocui.View) error {
- if ok, err := gui.validateNotInScopedMode(); err != nil || !ok {
+ if ok, err := gui.validateNotInFilterMode(); err != nil || !ok {
return err
}
@@ -471,7 +471,7 @@ func (gui *Gui) handleCopyCommitRange(g *gocui.Gui, v *gocui.View) error {
// HandlePasteCommits begins a cherry-pick rebase with the commits the user has copied
func (gui *Gui) HandlePasteCommits(g *gocui.Gui, v *gocui.View) error {
- if ok, err := gui.validateNotInScopedMode(); err != nil || !ok {
+ if ok, err := gui.validateNotInFilterMode(); err != nil || !ok {
return err
}
@@ -551,7 +551,7 @@ func (gui *Gui) unchooseCommit(commits []*commands.Commit, i int) []*commands.Co
}
func (gui *Gui) handleCreateFixupCommit(g *gocui.Gui, v *gocui.View) error {
- if ok, err := gui.validateNotInScopedMode(); err != nil || !ok {
+ if ok, err := gui.validateNotInFilterMode(); err != nil || !ok {
return err
}
@@ -575,7 +575,7 @@ func (gui *Gui) handleCreateFixupCommit(g *gocui.Gui, v *gocui.View) error {
}
func (gui *Gui) handleSquashAllAboveFixupCommits(g *gocui.Gui, v *gocui.View) error {
- if ok, err := gui.validateNotInScopedMode(); err != nil || !ok {
+ if ok, err := gui.validateNotInFilterMode(); err != nil || !ok {
return err
}
diff --git a/pkg/gui/gui.go b/pkg/gui/gui.go
index a3f110427..b9ca704bd 100644
--- a/pkg/gui/gui.go
+++ b/pkg/gui/gui.go
@@ -217,12 +217,12 @@ type guiState struct {
PrevMainHeight int
OldInformation string
StartupStage int // one of INITIAL and COMPLETE. Allows us to not load everything at once
- LogScope string // the filename that gets passed to git log
+ FilterPath string // the filename that gets passed to git log
}
// for now the split view will always be on
// NewGui builds a new gui handler
-func NewGui(log *logrus.Entry, gitCommand *commands.GitCommand, oSCommand *commands.OSCommand, tr *i18n.Localizer, config config.AppConfigurer, updater *updates.Updater, logScope string) (*Gui, error) {
+func NewGui(log *logrus.Entry, gitCommand *commands.GitCommand, oSCommand *commands.OSCommand, tr *i18n.Localizer, config config.AppConfigurer, updater *updates.Updater, filterPath string) (*Gui, error) {
initialState := &guiState{
Files: make([]*commands.File, 0),
@@ -250,9 +250,9 @@ func NewGui(log *logrus.Entry, gitCommand *commands.GitCommand, oSCommand *comma
EditHistory: stack.New(),
},
},
- SideView: nil,
- Ptmx: nil,
- LogScope: logScope,
+ SideView: nil,
+ Ptmx: nil,
+ FilterPath: filterPath,
}
gui := &Gui{
@@ -511,8 +511,8 @@ func (gui *Gui) layout(g *gocui.Gui) error {
donate := color.New(color.FgMagenta, color.Underline).Sprint(gui.Tr.SLocalize("Donate"))
information = donate + " " + information
}
- if gui.inScopedMode() {
- information = utils.ColoredString(fmt.Sprintf("%s '%s' %s", gui.Tr.SLocalize("scopingTo"), gui.State.LogScope, utils.ColoredString(gui.Tr.SLocalize("(reset)"), color.Underline)), color.FgRed, color.Bold)
+ if gui.inFilterMode() {
+ information = utils.ColoredString(fmt.Sprintf("%s '%s' %s", gui.Tr.SLocalize("filteringBy"), gui.State.FilterPath, utils.ColoredString(gui.Tr.SLocalize("(reset)"), color.Underline)), color.FgRed, color.Bold)
} else if len(gui.State.CherryPickedCommits) > 0 {
information = utils.ColoredString(fmt.Sprintf("%d commits copied", len(gui.State.CherryPickedCommits)), color.FgCyan)
}
@@ -804,7 +804,7 @@ func (gui *Gui) layout(g *gocui.Gui) error {
if gui.g.CurrentView() == nil {
initialView := gui.getFilesView()
- if gui.inScopedMode() {
+ if gui.inFilterMode() {
initialView = gui.getCommitsView()
}
if _, err := gui.g.SetCurrentView(initialView.Name()); err != nil {
@@ -993,7 +993,7 @@ func (gui *Gui) Run() error {
}
defer g.Close()
- if gui.inScopedMode() {
+ if gui.inFilterMode() {
gui.State.ScreenMode = SCREEN_HALF
} else {
gui.State.ScreenMode = SCREEN_NORMAL
@@ -1123,10 +1123,9 @@ func (gui *Gui) handleInfoClick(g *gocui.Gui, v *gocui.View) error {
// if we're in the normal context there will be a donate button here
// if we have ('reset') at the end then
- if gui.inScopedMode() {
+ if gui.inFilterMode() {
if width-cx <= len(gui.Tr.SLocalize("(reset)")) {
- gui.State.LogScope = ""
- return gui.Errors.ErrRestart
+ return gui.exitFilterMode()
} else {
return nil
}
@@ -1177,13 +1176,20 @@ func (gui *Gui) handleMouseDownSecondary(g *gocui.Gui, v *gocui.View) error {
return nil
}
-func (gui *Gui) inScopedMode() bool {
- return gui.State.LogScope != ""
+func (gui *Gui) inFilterMode() bool {
+ return gui.State.FilterPath != ""
}
-func (gui *Gui) validateNotInScopedMode() (bool, error) {
- if gui.inScopedMode() {
- return false, gui.createErrorPanel("command not available in scoped mode. Either exit scoped mode or restart lazygit")
+func (gui *Gui) validateNotInFilterMode() (bool, error) {
+ if gui.inFilterMode() {
+ return false, gui.createConfirmationPanel(gui.g, gui.g.CurrentView(), true, gui.Tr.SLocalize("MustExitFilterModeTitle"), gui.Tr.SLocalize("MustExitFilterModePrompt"), func(*gocui.Gui, *gocui.View) error {
+ return gui.exitFilterMode()
+ }, nil)
}
return true, nil
}
+
+func (gui *Gui) exitFilterMode() error {
+ gui.State.FilterPath = ""
+ return gui.Errors.ErrRestart
+}
diff --git a/pkg/gui/keybindings.go b/pkg/gui/keybindings.go
index 6d5a54bae..1061d99b1 100644
--- a/pkg/gui/keybindings.go
+++ b/pkg/gui/keybindings.go
@@ -984,7 +984,7 @@ func (gui *Gui) GetInitialKeybindings() []*Binding {
},
{
ViewName: "",
- Key: gui.getKey("universal.scopingMenu"),
+ Key: gui.getKey("universal.filteringMenu"),
Modifier: gocui.ModNone,
Handler: gui.handleCreateScopingMenuPanel,
Description: gui.Tr.SLocalize("openScopingMenu"),
diff --git a/pkg/gui/reflog_panel.go b/pkg/gui/reflog_panel.go
index fa7f994ee..55738c445 100644
--- a/pkg/gui/reflog_panel.go
+++ b/pkg/gui/reflog_panel.go
@@ -10,11 +10,12 @@ import (
func (gui *Gui) getSelectedReflogCommit() *commands.Commit {
selectedLine := gui.State.Panels.ReflogCommits.SelectedLine
- if selectedLine == -1 || len(gui.State.ReflogCommits) == 0 {
+ reflogComits := gui.State.ReflogCommits
+ if selectedLine == -1 || len(reflogComits) == 0 {
return nil
}
- return gui.State.ReflogCommits[selectedLine]
+ return reflogComits[selectedLine]
}
func (gui *Gui) handleReflogCommitSelect(g *gocui.Gui, v *gocui.View) error {
@@ -37,7 +38,7 @@ func (gui *Gui) handleReflogCommitSelect(g *gocui.Gui, v *gocui.View) error {
v.FocusPoint(0, gui.State.Panels.ReflogCommits.SelectedLine)
cmd := gui.OSCommand.ExecutableFromString(
- gui.GitCommand.ShowCmdStr(commit.Sha, gui.State.LogScope),
+ gui.GitCommand.ShowCmdStr(commit.Sha, gui.State.FilterPath),
)
if err := gui.newPtyTask("main", cmd); err != nil {
gui.Log.Error(err)
@@ -52,7 +53,7 @@ func (gui *Gui) refreshReflogCommits() error {
lastReflogCommit = gui.State.ReflogCommits[0]
}
- commits, onlyObtainedNewReflogCommits, err := gui.GitCommand.GetReflogCommits(lastReflogCommit, gui.State.LogScope)
+ commits, onlyObtainedNewReflogCommits, err := gui.GitCommand.GetReflogCommits(lastReflogCommit, gui.State.FilterPath)
if err != nil {
return gui.surfaceError(err)
}
diff --git a/pkg/gui/scoping_menu_panel.go b/pkg/gui/scoping_menu_panel.go
index d1c2f85e3..316ea95d0 100644
--- a/pkg/gui/scoping_menu_panel.go
+++ b/pkg/gui/scoping_menu_panel.go
@@ -26,33 +26,33 @@ func (gui *Gui) handleCreateScopingMenuPanel(g *gocui.Gui, v *gocui.View) error
if fileName != "" {
menuItems = append(menuItems, &menuItem{
- displayString: fmt.Sprintf("%s '%s'", gui.Tr.SLocalize("scopeTo"), fileName),
+ displayString: fmt.Sprintf("%s '%s'", gui.Tr.SLocalize("filterBy"), fileName),
onPress: func() error {
- gui.State.LogScope = fileName
+ gui.State.FilterPath = fileName
return gui.Errors.ErrRestart
},
})
}
menuItems = append(menuItems, &menuItem{
- displayString: gui.Tr.SLocalize("fileToScopeToOption"),
+ displayString: gui.Tr.SLocalize("filterPathOption"),
onPress: func() error {
return gui.createPromptPanel(gui.g, v, gui.Tr.SLocalize("enterFileName"), "", func(g *gocui.Gui, promptView *gocui.View) error {
- gui.State.LogScope = strings.TrimSpace(promptView.Buffer())
+ gui.State.FilterPath = strings.TrimSpace(promptView.Buffer())
return gui.Errors.ErrRestart
})
},
})
- if gui.inScopedMode() {
+ if gui.inFilterMode() {
menuItems = append(menuItems, &menuItem{
- displayString: gui.Tr.SLocalize("exitOutOfScopedMode"),
+ displayString: gui.Tr.SLocalize("exitFilterMode"),
onPress: func() error {
- gui.State.LogScope = ""
+ gui.State.FilterPath = ""
return gui.Errors.ErrRestart
},
})
}
- return gui.createMenu(gui.Tr.SLocalize("scopingMenuTitle"), menuItems, createMenuOptions{showCancel: true})
+ return gui.createMenu(gui.Tr.SLocalize("FilteringMenuTitle"), menuItems, createMenuOptions{showCancel: true})
}
diff --git a/pkg/gui/stash_panel.go b/pkg/gui/stash_panel.go
index 797a9a624..67747b80f 100644
--- a/pkg/gui/stash_panel.go
+++ b/pkg/gui/stash_panel.go
@@ -47,7 +47,7 @@ func (gui *Gui) handleStashEntrySelect(g *gocui.Gui, v *gocui.View) error {
}
func (gui *Gui) refreshStashEntries(g *gocui.Gui) error {
- gui.State.StashEntries = gui.GitCommand.GetStashEntries(gui.State.LogScope)
+ gui.State.StashEntries = gui.GitCommand.GetStashEntries(gui.State.FilterPath)
gui.refreshSelectedLine(&gui.State.Panels.Stash.SelectedLine, len(gui.State.StashEntries))