[Libguestfs] [PATCH] fish: improve formatting of help text of generated commands
Richard W.M. Jones
rjones at redhat.com
Mon Apr 11 16:54:30 UTC 2016
On Mon, Apr 11, 2016 at 05:16:19PM +0200, Pino Toscano wrote:
> In the generated description of the guestfish commands, wrap and indent
> the help text, so it is a multiline string instead of a very long single
> one.
>
> This has no behaviour changes, only makes cmds.c more readable (and
> easier to diff when the description of actions change).
> ---
> generator/fish.ml | 9 +++++++--
> 1 file changed, 7 insertions(+), 2 deletions(-)
>
> diff --git a/generator/fish.ml b/generator/fish.ml
> index 864f65d..646674d 100644
> --- a/generator/fish.ml
> +++ b/generator/fish.ml
> @@ -71,6 +71,11 @@ let all_functions_commands_and_aliases_sorted =
> ) (fish_functions_sorted @ fish_commands) [] in
> List.sort func_compare all
>
> +let c_quoted_indented ~indent str =
> + let str = c_quote str in
> + let str = replace_str str "\\n" ("\\n\"\n" ^ indent ^ "\"") in
> + str
> +
> (* Generate a lot of different functions for guestfish. *)
> let generate_fish_cmds () =
> generate_header CStyle GPLv2plus;
> @@ -138,7 +143,7 @@ let generate_fish_cmds () =
>
> pr "struct command_entry %s_cmd_entry = {\n" name;
> pr " .name = \"%s\",\n" name2;
> - pr " .help = \"%s\",\n" (c_quote text);
> + pr " .help = \"%s\",\n" (c_quoted_indented ~indent:" " text);
> pr " .synopsis = NULL,\n";
> pr " .run = run_%s\n" name;
> pr "};\n";
> @@ -200,7 +205,7 @@ Guestfish will prompt for these separately."
>
> pr "struct command_entry %s_cmd_entry = {\n" name;
> pr " .name = \"%s\",\n" name2;
> - pr " .help = \"%s\",\n" (c_quote text);
> + pr " .help = \"%s\",\n" (c_quoted_indented ~indent:" " text);
> pr " .synopsis = \"%s\",\n" (c_quote synopsis);
> pr " .run = run_%s\n" name;
> pr "};\n";
> --
> 2.5.5
ACK.
Rich.
--
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
Read my programming and virtualization blog: http://rwmj.wordpress.com
Fedora Windows cross-compiler. Compile Windows programs, test, and
build Windows installers. Over 100 libraries supported.
http://fedoraproject.org/wiki/MinGW
More information about the Libguestfs
mailing list