summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStefan Haller <stefan@haller-berlin.de>2023-04-02 15:01:04 +0200
committerStefan Haller <stefan@haller-berlin.de>2023-04-13 13:14:00 +0200
commit046b0d9daa46f2fa8da9f196dc50a5ae02239675 (patch)
tree02ee1dd14eaa3b04f048dac8785584a1a0abd471
parente3c5e07b20aabd375db5ff3e84e89b0473274dba (diff)
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.
-rw-r--r--pkg/gui/gui.go33
-rw-r--r--pkg/i18n/english.go17
2 files changed, 50 insertions, 0 deletions
diff --git a/pkg/gui/gui.go b/pkg/gui/gui.go
index 69ff10c77..aed1d5430 100644
--- a/pkg/gui/gui.go
+++ b/pkg/gui/gui.go
@@ -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)
diff --git a/pkg/i18n/english.go b/pkg/i18n/english.go
index 86ba0451c..e7756d03e 100644
--- a/pkg/i18n/english.go
+++ b/pkg/i18n/english.go
@@ -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`,