diff options
author | Stefan Haller <stefan@haller-berlin.de> | 2023-05-18 16:23:53 +0200 |
---|---|---|
committer | Jesse Duffield <jessedduffield@gmail.com> | 2023-05-20 12:58:32 +1000 |
commit | 7d4bfb6621163244b5467ab6e6c40571726d7c81 (patch) | |
tree | 5e2e06031f4d9e4376ec86f7b1118d54bbe695a1 | |
parent | a2778f01c661468caaf2aa2c3476f58e9925dbc4 (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.go | 14 | ||||
-rw-r--r-- | pkg/i18n/english.go | 2 |
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", |