From c60dc40fe44f7db401d22a85bf382a02ca73b24f Mon Sep 17 00:00:00 2001 From: Pino Toscano Date: Thu, 5 Dec 2013 16:30:06 +0100 Subject: [PATCH] fish: improve the command error messages - when a command needs no parameters, tell that explicitly instead of "command should have 0 parameters" - use gettext's plural form when printing the number of required arguments - improve the error message for a variable number of parameters limited only in the maximum number of them, using also a plural form --- generator/fish.ml | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/generator/fish.ml b/generator/fish.ml index 65f1acbb2..da0584b67 100644 --- a/generator/fish.ml +++ b/generator/fish.ml @@ -362,12 +362,24 @@ Guestfish will prompt for these separately." if argc_minimum = argc_maximum then ( pr " if (argc != %d) {\n" argc_minimum; - pr " fprintf (stderr, _(\"%%s should have %%d parameter(s)\\n\"), cmd, %d);\n" - argc_minimum; + if argc_minimum = 0 then ( + pr " fprintf (stderr, _(\"%%s should have no parameters\\n\"), cmd);\n"; + ) else ( + pr " fprintf (stderr, ngettext(\"%%s should have %%d parameter\\n\",\n"; + pr " \"%%s should have %%d parameters\\n\",\n"; + pr " %d),\n" + argc_minimum; + pr " cmd, %d);\n" + argc_minimum; + ) ) else if argc_minimum = 0 then ( pr " if (argc > %d) {\n" argc_maximum; - pr " fprintf (stderr, _(\"%%s should have %%d-%%d parameter(s)\\n\"), cmd, %d, %d);\n" - argc_minimum argc_maximum; + pr " fprintf (stderr, ngettext(\"%%s should have at most %%d parameter\\n\",\n"; + pr " \"%%s should have at most %%d parameters\\n\",\n"; + pr " %d),\n" + argc_maximum; + pr " cmd, %d);\n" + argc_maximum; ) else ( pr " if (argc < %d || argc > %d) {\n" argc_minimum argc_maximum; pr " fprintf (stderr, _(\"%%s should have %%d-%%d parameter(s)\\n\"), cmd, %d, %d);\n"