- Added --long-help and -E, --expert switches.
This commit is contained in:
parent
b2e40e07f3
commit
5ddcdfed22
@ -79,6 +79,7 @@ switchesInit (int argc, char **argv)
|
||||
switches.addreachableclaim = false; // add 'reachable' claims
|
||||
switches.addallclaims = false; // add all sorts of claims
|
||||
switches.check = false; // check the protocol for termination etc. (default off)
|
||||
switches.expert = false; // expert mode (off by default)
|
||||
|
||||
// Output
|
||||
switches.output = SUMMARY; // default is to show a summary
|
||||
@ -571,6 +572,8 @@ switcher (const int process, int index, int commandline)
|
||||
}
|
||||
else
|
||||
{
|
||||
warning
|
||||
("'-m, --match' switch has been deprecated. Use '-u, --untyped' instead.");
|
||||
switches.match = integer_argument ();
|
||||
return index;
|
||||
}
|
||||
@ -723,7 +726,7 @@ switcher (const int process, int index, int commandline)
|
||||
{
|
||||
if (!process)
|
||||
{
|
||||
/* for experts only
|
||||
/* disabled for now
|
||||
helptext (" --ra-tupling", "compile using right-associative tupling");
|
||||
*/
|
||||
}
|
||||
@ -939,15 +942,37 @@ switcher (const int process, int index, int commandline)
|
||||
#endif
|
||||
|
||||
/* ==================
|
||||
* External options
|
||||
* Misc switches
|
||||
*/
|
||||
|
||||
if (!process)
|
||||
printf ("Misc. switches:\n");
|
||||
|
||||
|
||||
if (detect ('E', "expert", 0))
|
||||
{
|
||||
if (!process)
|
||||
{
|
||||
if (switches.expert)
|
||||
{
|
||||
helptext ("-E, --expert", "Expert mode");
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
switches.expert = true;
|
||||
return index;
|
||||
}
|
||||
}
|
||||
|
||||
if (detect (' ', "count-states", 0))
|
||||
{
|
||||
if (!process)
|
||||
{
|
||||
/* not very important
|
||||
if (switches.expert)
|
||||
{
|
||||
helptext (" --count-states", "report on states (per claim)");
|
||||
*/
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -956,15 +981,12 @@ switcher (const int process, int index, int commandline)
|
||||
}
|
||||
}
|
||||
|
||||
if (!process)
|
||||
printf ("Misc. switches:\n");
|
||||
|
||||
if (detect (' ', "echo", 0))
|
||||
{
|
||||
if (!process)
|
||||
{
|
||||
/* not very important
|
||||
helptext ("-E,--echo", "echo command line");
|
||||
helptext (" --echo", "echo command line");
|
||||
*/
|
||||
}
|
||||
else
|
||||
@ -1011,9 +1033,10 @@ switcher (const int process, int index, int commandline)
|
||||
{
|
||||
if (!process)
|
||||
{
|
||||
/* not very important: hide
|
||||
if (switches.expert)
|
||||
{
|
||||
helptext ("-v, --version", "version information");
|
||||
*/
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -1033,7 +1056,7 @@ switcher (const int process, int index, int commandline)
|
||||
{
|
||||
if (!process)
|
||||
{
|
||||
helptext ("-h, --help", "show this help");
|
||||
helptext ("-h, --help", "show short help");
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -1047,6 +1070,25 @@ switcher (const int process, int index, int commandline)
|
||||
}
|
||||
}
|
||||
|
||||
if (detect (' ', "long-help", 0))
|
||||
{
|
||||
if (!process)
|
||||
{
|
||||
helptext (" --long-help", "show long help");
|
||||
}
|
||||
else
|
||||
{
|
||||
if (commandline)
|
||||
{
|
||||
printf ("Usage:\n");
|
||||
printf (" %s [switches] [FILE]\n\nSwitches:\n", progname);
|
||||
switches.expert = true;
|
||||
switcher (0, 0, commandline);
|
||||
}
|
||||
exit (0);
|
||||
}
|
||||
}
|
||||
|
||||
if (detect (' ', "plain", 0))
|
||||
{
|
||||
if (!process)
|
||||
@ -1065,7 +1107,11 @@ switcher (const int process, int index, int commandline)
|
||||
{
|
||||
if (!process)
|
||||
{
|
||||
helptext ("-D, --debug=<int>", "set debug (verbosity) level. [0]");
|
||||
if (switches.expert)
|
||||
{
|
||||
helptext ("-D, --debug=<int>",
|
||||
"set debug (verbosity) level. [0]");
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -57,6 +57,7 @@ struct switchdata
|
||||
int addreachableclaim; //!< Adds 'reachable' claims to each role
|
||||
int addallclaims; //!< Adds all sorts of claims to the roles
|
||||
int check; //!< Check protocol correctness
|
||||
int expert; //!< Expert mode
|
||||
|
||||
// Output
|
||||
int output; //!< From enum outputs: what should be produced. Default ATTACK.
|
||||
|
Loading…
Reference in New Issue
Block a user