diff options
author | Richard Jones <rjones@redhat.com> | 2009-04-04 01:40:43 +0100 |
---|---|---|
committer | Richard Jones <rjones@redhat.com> | 2009-04-04 01:40:43 +0100 |
commit | 76f3ea8fb3318966c376bc6fbccbd5a81a9ec564 (patch) | |
tree | 015991e0071b040da5be87b2c9014dbae37c77cc /src | |
parent | 4567839859befc5aa9e1eee942dc2ba0701516e2 (diff) | |
download | libguestfs-76f3ea8fb3318966c376bc6fbccbd5a81a9ec564.tar.gz libguestfs-76f3ea8fb3318966c376bc6fbccbd5a81a9ec564.tar.xz libguestfs-76f3ea8fb3318966c376bc6fbccbd5a81a9ec564.zip |
Command line, help.
Diffstat (limited to 'src')
-rwxr-xr-x | src/generator.ml | 25 |
1 files changed, 20 insertions, 5 deletions
diff --git a/src/generator.ml b/src/generator.ml index b26ea3c1..75dcc79a 100755 --- a/src/generator.ml +++ b/src/generator.ml @@ -466,7 +466,8 @@ and generate_fish_cmds () = (* list_commands function, which implements guestfish -h *) pr "void list_commands (void)\n"; pr "{\n"; - pr " printf (\"%%-20s %%s\\n\", \"Command\", \"Description\");\n"; + pr " printf (\" %%-16s %%s\\n\", \"Command\", \"Description\");\n"; + pr " list_builtin_commands ();\n"; List.iter ( fun (name, _, _, shortdesc, _) -> pr " printf (\"%%-20s %%s\\n\", \"%s\", \"%s\");\n" @@ -499,10 +500,24 @@ and generate_fish_cmds () = (" " ^ synopsis ^ "\n\n" ^ longdesc); pr " else\n" ) functions; - pr " {\n"; - pr " fprintf (stderr, \"%%s: command not known, use -h to list all commands\\n\", cmd);\n"; - pr " exit (1);\n"; - pr " }\n"; + pr " display_builtin_command (cmd);\n"; + pr "}\n"; + pr "\n"; + + (* run_action function *) + pr "int run_action (const char *cmd, int argc, char *argv[])\n"; + pr "{\n"; + List.iter ( + fun (name, style, _, _, _) -> + pr " if (strcasecmp (cmd, \"%s\") == 0)\n" name; + pr " printf (\"running %s ...\\n\");\n" name; + pr " else\n"; + ) functions; + pr " {\n"; + pr " fprintf (stderr, \"%%s: unknown command\\n\", cmd);\n"; + pr " return -1;\n"; + pr " }\n"; + pr " return 0;\n"; pr "}\n"; pr "\n" |