summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStefan Haller <stefan@haller-berlin.de>2023-05-18 16:23:53 +0200
committerJesse Duffield <jessedduffield@gmail.com>2023-05-20 12:58:32 +1000
commit7d4bfb6621163244b5467ab6e6c40571726d7c81 (patch)
tree5e2e06031f4d9e4376ec86f7b1118d54bbe695a1
parenta2778f01c661468caaf2aa2c3476f58e9925dbc4 (diff)
Don't toggle "ignore whitespace" in the staging and patch building panels
The option doesn't have any affect in these views, so we don't need to toggle it here. But the problem was the HandleFocus call at the end: this would activate the wrong view, so we need to avoid it here. Show an error if the user tries to turn the option on, to let them know that it doesn't work here.
-rw-r--r--pkg/gui/controllers/toggle_whitespace_action.go14
-rw-r--r--pkg/i18n/english.go2
2 files changed, 16 insertions, 0 deletions
diff --git a/pkg/gui/controllers/toggle_whitespace_action.go b/pkg/gui/controllers/toggle_whitespace_action.go
index 56eb023f3..746d18bdf 100644
--- a/pkg/gui/controllers/toggle_whitespace_action.go
+++ b/pkg/gui/controllers/toggle_whitespace_action.go
@@ -1,7 +1,9 @@
package controllers
import (
+ "github.com/jesseduffield/lazygit/pkg/gui/context"
"github.com/jesseduffield/lazygit/pkg/gui/types"
+ "github.com/samber/lo"
)
type ToggleWhitespaceAction struct {
@@ -9,6 +11,18 @@ type ToggleWhitespaceAction struct {
}
func (self *ToggleWhitespaceAction) Call() error {
+ contextsThatDontSupportIgnoringWhitespace := []types.ContextKey{
+ context.STAGING_MAIN_CONTEXT_KEY,
+ context.STAGING_SECONDARY_CONTEXT_KEY,
+ context.PATCH_BUILDING_MAIN_CONTEXT_KEY,
+ }
+
+ if lo.Contains(contextsThatDontSupportIgnoringWhitespace, self.c.CurrentContext().GetKey()) {
+ // Ignoring whitespace is not supported in these views. Let the user
+ // know that it's not going to work in case they try to turn it on.
+ return self.c.ErrorMsg(self.c.Tr.IgnoreWhitespaceNotSupportedHere)
+ }
+
self.c.State().SetIgnoreWhitespaceInDiffView(!self.c.State().GetIgnoreWhitespaceInDiffView())
toastMessage := self.c.Tr.ShowingWhitespaceInDiffView
diff --git a/pkg/i18n/english.go b/pkg/i18n/english.go
index 5e34022d3..c1d0b6c0c 100644
--- a/pkg/i18n/english.go
+++ b/pkg/i18n/english.go
@@ -483,6 +483,7 @@ type TranslationSet struct {
ToggleWhitespaceInDiffView string
IgnoringWhitespaceInDiffView string
ShowingWhitespaceInDiffView string
+ IgnoreWhitespaceNotSupportedHere string
IncreaseContextInDiffView string
DecreaseContextInDiffView string
CreatePullRequestOptions string
@@ -1154,6 +1155,7 @@ func EnglishTranslationSet() TranslationSet {
ToggleWhitespaceInDiffView: "Toggle whether or not whitespace changes are shown in the diff view",
IgnoringWhitespaceInDiffView: "Whitespace will be ignored in the diff view",
ShowingWhitespaceInDiffView: "Whitespace will be shown in the diff view",
+ IgnoreWhitespaceNotSupportedHere: "Ignoring whitespace is not supported in this view",
IncreaseContextInDiffView: "Increase the size of the context shown around changes in the diff view",
DecreaseContextInDiffView: "Decrease the size of the context shown around changes in the diff view",
CreatePullRequest: "Create pull request",