Exemple #1
0
void usage(char **argv)
{
	struct usage_help *help = NULL;
	char *arg = argv[0];
	char *p;

	p = basename(arg);

	printf("\n"
	       "%s version %s\n\n"
	       "usage:\n", p, VERSION_STRING);

	if (argv[1])
		help = find_help(argv[1]);

	if (help) {
		printf(help->long_help, p);
		goto out;
	}

	printf("  %s [COMMAND] ...\n\n"
	       "  commands:\n", p);

	help = usage_help;
	while (help->name) {
		printf("     %s - %s\n", help->name, help->short_help);
		help++;
	}
 out:
	printf("\n");
	exit(-1);
}
Exemple #2
0
HelpNode *all_help()
{
    HelpNode *node = new HelpNode(NULL, main_help_str);

    for (int i = 0; keywords[i]; i++) {
        HelpNode *n = new HelpNode(node, keywords[i]);
        find_help(keywords[i], n);
    }

    return node;
}
Exemple #3
0
void help(string keyword)
{
    HelpNode *node;
    int h;

    if (keyword == "all") {
        node = all_help();
        h = 0;
    } else if (keyword == "workflow") {
      node = new HelpNode(NULL, flow_help_str);
      h = 0;
    } else if (keyword == "expressions") {
      node = new HelpNode(NULL, expr_help_str);
      h = 0;
    } else {
        node = find_help(keyword);
        h = 2;
    }

    if (node) {
        HelpFormatScreen(cout, *node, h);

        delete node;
    } else {
        cout << "help(" << keyword  << "): Unknown keyword: " << keyword << endl
            << "Possibilities are:" << endl;
        size_t i = 0;
        while(keywords[i])
        {
          if(i!=0) cout << ", ";
          cout << keywords[i];
          ++i;
        }
        cout << endl;
	cout << "Or one of \"all\", \"workflow\", \"expressions\".";
        cout << endl;
    }
}