1
0
mirror of https://github.com/jesseduffield/lazygit.git synced 2025-01-06 03:53:59 +02:00

Show warning about deprecated edit configs

We print this to the terminal after lazygit quits rather than showing it in a
panel at startup, so as to not annoy people too much. Hopefully it will still be
prominent enough this way.
This commit is contained in:
Stefan Haller 2023-04-02 15:01:04 +02:00
parent e3c5e07b20
commit 046b0d9daa
2 changed files with 50 additions and 0 deletions

View File

@ -495,6 +495,8 @@ func (gui *Gui) Run(startArgs appTypes.StartArgs) error {
return err
}
defer gui.checkForDeprecatedEditConfigs()
gui.g = g
defer gui.g.Close()
@ -583,6 +585,37 @@ func (gui *Gui) RunAndHandleError(startArgs appTypes.StartArgs) error {
})
}
func (gui *Gui) checkForDeprecatedEditConfigs() {
osConfig := &gui.UserConfig.OS
deprecatedConfigs := []struct {
config string
oldName string
newName string
}{
{osConfig.EditCommand, "EditCommand", "Edit"},
{osConfig.EditCommandTemplate, "EditCommandTemplate", "Edit,EditAtLine"},
{osConfig.OpenCommand, "OpenCommand", "Open"},
{osConfig.OpenLinkCommand, "OpenLinkCommand", "OpenLink"},
}
deprecatedConfigStrings := []string{}
for _, dc := range deprecatedConfigs {
if dc.config != "" {
deprecatedConfigStrings = append(deprecatedConfigStrings, fmt.Sprintf(" OS.%s -> OS.%s", dc.oldName, dc.newName))
}
}
if len(deprecatedConfigStrings) != 0 {
warningMessage := utils.ResolvePlaceholderString(
gui.c.Tr.DeprecatedEditConfigWarning,
map[string]string{
"configs": strings.Join(deprecatedConfigStrings, "\n"),
},
)
os.Stdout.Write([]byte(warningMessage))
}
}
// returns whether command exited without error or not
func (gui *Gui) runSubprocessWithSuspenseAndRefresh(subprocess oscommands.ICmdObj) error {
_, err := gui.runSubprocessWithSuspense(subprocess)

View File

@ -155,6 +155,7 @@ type TranslationSet struct {
MergeToolTitle string
MergeToolPrompt string
IntroPopupMessage string
DeprecatedEditConfigWarning string
GitconfigParseErr string
LcEditFile string
LcOpenFile string
@ -659,6 +660,21 @@ Thanks for using lazygit! Seriously you rock. Three things to share with you:
Or even just star the repo to share the love!
`
const englishDeprecatedEditConfigWarning = `
### Deprecated config warning ###
The following config settings are deprecated and will be removed in a future
version:
{{configs}}
Please refer to
https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#configuring-file-editing
for up-to-date information how to configure your editor.
`
// exporting this so we can use it in tests
func EnglishTranslationSet() TranslationSet {
return TranslationSet{
@ -805,6 +821,7 @@ func EnglishTranslationSet() TranslationSet {
MergeToolTitle: "Merge tool",
MergeToolPrompt: "Are you sure you want to open `git mergetool`?",
IntroPopupMessage: englishIntroPopupMessage,
DeprecatedEditConfigWarning: englishDeprecatedEditConfigWarning,
GitconfigParseErr: `Gogit failed to parse your gitconfig file due to the presence of unquoted '\' characters. Removing these should fix the issue.`,
LcEditFile: `edit file`,
LcOpenFile: `open file`,