]> git.cworth.org Git - apitrace/commitdiff
trim: Add a more condensed usage message for error cases.
authorCarl Worth <cworth@cworth.org>
Sat, 11 Aug 2012 18:46:54 +0000 (11:46 -0700)
committerJosé Fonseca <jose.r.fonseca@gmail.com>
Thu, 22 Nov 2012 08:03:00 +0000 (08:03 +0000)
When explicitly asking for help, ("apitrace help trim" or "apitrace
trim --help"), the complete help message is still provided.

But when an error case triggers a usage message, (such as an invalid
command-line argument), a more compact usage message is provided so as
to not overwhelm the error message (such as "invalid argument:
--foo").

cli/cli_trim.cpp

index 80a1b640a9890409a1d11a65dd54bc37375d205e..1d2abffa1cee24e0eda199e8a6cef66e9cfad896 100644 (file)
@@ -42,6 +42,26 @@ static const char *synopsis = "Create a new trace by trimming an existing trace.
 
 static void
 usage(void)
+{
+    std::cout
+        << "usage: apitrace trim [OPTIONS] TRACE_FILE...\n"
+        << synopsis << "\n"
+        "\n"
+        "    -h, --help               Show detailed help for trim options and exit\n"
+        "        --calls=CALLSET      Include specified calls in the trimmed output.\n"
+        "        --deps               Include additional calls to satisfy dependencies\n"
+        "        --no-deps            Do not include calls from dependency analysis\n"
+        "        --prune              Omit uninteresting calls from the trace output\n"
+        "        --no-prune           Do not prune uninteresting calls from the trace.\n"
+        "    -x, --exact              Include exactly the calls specified in --calls\n"
+        "                             Equivalent to both --no-deps and --no-prune\n"
+        "        --thread=THREAD_ID   Only retain calls from specified thread\n"
+        "    -o, --output=TRACE_FILE  Output trace file\n"
+    ;
+}
+
+static void
+help()
 {
     std::cout
         << "usage: apitrace trim [OPTIONS] TRACE_FILE...\n"
@@ -262,7 +282,7 @@ command(int argc, char *argv[])
     while ((opt = getopt_long(argc, argv, shortOptions, longOptions, NULL)) != -1) {
         switch (opt) {
         case 'h':
-            usage();
+            help();
             return 0;
         case CALLS_OPT:
             options.calls = trace::CallSet(optarg);
@@ -318,6 +338,6 @@ command(int argc, char *argv[])
 const Command trim_command = {
     "trim",
     synopsis,
-    usage,
+    help,
     command
 };