mirror of
https://github.com/jesseduffield/lazygit.git
synced 2025-01-04 03:48:07 +02:00
1106981827
It seems that most actions that change a state option and resave the state want to just log the error.
31 lines
976 B
Go
31 lines
976 B
Go
package controllers
|
|
|
|
import (
|
|
"github.com/jesseduffield/lazygit/pkg/gui/context"
|
|
"github.com/jesseduffield/lazygit/pkg/gui/types"
|
|
"github.com/samber/lo"
|
|
)
|
|
|
|
type ToggleWhitespaceAction struct {
|
|
c *ControllerCommon
|
|
}
|
|
|
|
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.GetAppState().IgnoreWhitespaceInDiffView = !self.c.GetAppState().IgnoreWhitespaceInDiffView
|
|
self.c.SaveAppStateAndLogError()
|
|
|
|
return self.c.CurrentSideContext().HandleFocus(types.OnFocusOpts{})
|
|
}
|