diff --git a/CHANGELOG.md b/CHANGELOG.md index 8e48854aee..0b60503c10 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,6 +18,7 @@ All notable changes to this project will be documented in this file. - [Core] Add missing resource string for upgrading (#3873 by: HebaruSan; reviewed: techman83) - [Multiple] Repository management fixes (#3876 by: HebaruSan; reviewed: techman83) - [GUI] Restore window position without default instance (#3878 by: HebaruSan; reviewed: techman83) +- [CLI] Correctly print cmdline errors with braces (#3880 by: HebaruSan; reviewed: techman83) ### Internal diff --git a/Cmdline/Action/AuthToken.cs b/Cmdline/Action/AuthToken.cs index 71222c5497..a8852f7401 100644 --- a/Cmdline/Action/AuthToken.cs +++ b/Cmdline/Action/AuthToken.cs @@ -110,7 +110,7 @@ private int addAuthToken(AddAuthTokenOptions opts) } else { - user.RaiseError("Invalid host name: {0}", opts.host); + user.RaiseError(Properties.Resources.AuthTokenInvalidHostName, opts.host); } return Exit.OK; } diff --git a/Cmdline/Action/GameInstance.cs b/Cmdline/Action/GameInstance.cs index a61f5baaf7..e953831cd4 100644 --- a/Cmdline/Action/GameInstance.cs +++ b/Cmdline/Action/GameInstance.cs @@ -637,13 +637,13 @@ int badArgument() catch (BadInstallLocationKraken kraken) { // The folder exists and is not empty. - User.RaiseError(kraken.Message); + User.RaiseError("{0}", kraken.Message); return badArgument(); } catch (WrongGameVersionKraken kraken) { // Thrown because the specified game instance is too old for one of the selected DLCs. - User.RaiseError(kraken.Message); + User.RaiseError("{0}", kraken.Message); return badArgument(); } catch (NotKSPDirKraken kraken) @@ -651,7 +651,7 @@ int badArgument() // Something went wrong adding the new instance to the registry, // most likely because the newly created directory is somehow not valid. log.Error(kraken); - User.RaiseError(kraken.Message); + User.RaiseError("{0}", kraken.Message); return error(); } catch (InvalidKSPInstanceKraken) diff --git a/Cmdline/Action/Install.cs b/Cmdline/Action/Install.cs index 8f662580da..f30b825ec3 100644 --- a/Cmdline/Action/Install.cs +++ b/Cmdline/Action/Install.cs @@ -88,9 +88,10 @@ public int RunCommand(CKAN.GameInstance instance, object raw_options) } catch (Kraken kraken) { - user.RaiseError(kraken.InnerException == null - ? kraken.Message - : $"{kraken.Message}: {kraken.InnerException.Message}"); + user.RaiseError("{0}", + kraken.InnerException == null + ? kraken.Message + : $"{kraken.Message}: {kraken.InnerException.Message}"); } } @@ -142,7 +143,7 @@ public int RunCommand(CKAN.GameInstance instance, object raw_options) } catch (DependencyNotSatisfiedKraken ex) { - user.RaiseError(ex.Message); + user.RaiseError("{0}", ex.Message); user.RaiseMessage(Properties.Resources.InstallTryAgain); return Exit.ERROR; } @@ -214,7 +215,7 @@ public int RunCommand(CKAN.GameInstance instance, object raw_options) catch (InconsistentKraken ex) { // The prettiest Kraken formats itself for us. - user.RaiseError(ex.InconsistenciesPretty); + user.RaiseError("{0}", ex.InconsistenciesPretty); user.RaiseMessage(Properties.Resources.InstallCancelled); return Exit.ERROR; } @@ -226,12 +227,12 @@ public int RunCommand(CKAN.GameInstance instance, object raw_options) catch (MissingCertificateKraken kraken) { // Another very pretty kraken. - user.RaiseError(kraken.ToString()); + user.RaiseError("{0}", kraken.ToString()); return Exit.ERROR; } catch (DownloadThrottledKraken kraken) { - user.RaiseError(kraken.ToString()); + user.RaiseError("{0}", kraken.ToString()); user.RaiseMessage(Properties.Resources.InstallTryAuthToken, kraken.infoUrl); return Exit.ERROR; } @@ -242,12 +243,12 @@ public int RunCommand(CKAN.GameInstance instance, object raw_options) } catch (ModuleDownloadErrorsKraken kraken) { - user.RaiseError(kraken.ToString()); + user.RaiseError("{0}", kraken.ToString()); return Exit.ERROR; } catch (DirectoryNotFoundKraken kraken) { - user.RaiseError(kraken.Message); + user.RaiseError("{0}", kraken.Message); return Exit.ERROR; } catch (ModuleIsDLCKraken kraken) diff --git a/Cmdline/Main.cs b/Cmdline/Main.cs index c9b4face73..25237e381a 100644 --- a/Cmdline/Main.cs +++ b/Cmdline/Main.cs @@ -331,7 +331,7 @@ private static int Scan(CKAN.GameInstance inst, IUser user, string next_command if (next_command == null) { - user.RaiseError(kraken.InconsistenciesPretty); + user.RaiseError("{0}", kraken.InconsistenciesPretty); user.RaiseError(Properties.Resources.ScanNotSaved); } else diff --git a/Cmdline/Properties/Resources.Designer.cs b/Cmdline/Properties/Resources.Designer.cs index 5838864125..cc3d941351 100644 --- a/Cmdline/Properties/Resources.Designer.cs +++ b/Cmdline/Properties/Resources.Designer.cs @@ -164,6 +164,9 @@ internal static string AuthTokenTokenHeader { internal static string AuthTokenHelpSummary { get { return (string)(ResourceManager.GetObject("AuthTokenHelpSummary", resourceCulture)); } } + internal static string AuthTokenInvalidHostName { + get { return (string)(ResourceManager.GetObject("AuthTokenHelpSummary", resourceCulture)); } + } internal static string AvailableHeader { get { return (string)(ResourceManager.GetObject("AvailableHeader", resourceCulture)); } diff --git a/Cmdline/Properties/Resources.resx b/Cmdline/Properties/Resources.resx index e9c7101153..1bcf812c03 100644 --- a/Cmdline/Properties/Resources.resx +++ b/Cmdline/Properties/Resources.resx @@ -154,6 +154,7 @@ Update recommended! Host Token Manage authentication tokens + Invalid host name: {0} Modules compatible with {0} {1} Manage the download cache path of CKAN Download cache set to {0}