We have some options that are currently "undocumented" for no good reason.
This PR makes them regular or expert options.
Options can be defined within a module file with the `[[option]]` tag, the
required attributes for an option are:
-* `category` (string): one of `common`, `expert`, `regular`, or `undocumented`
+* `category` (string): one of `common`, `regular`, `expert`, or `undocumented`
* `type` (string): the C++ type of the option value, see below for more details.
Optional attributes are:
given)
+Option categories
+-----------------
+
+Every option has one of the following categories that influences where and how an option is visible:
+
+* `common`: Used for the most common options. All `common` options are shown at the very top in both the online documentation and the output of `--help` on the command line.
+* `regular`: This should be used for most options.
+* `expert`: This is for options that should be used with care only. A warning is shown in both the online documentation and the command line help.
+* `undocumented`: Such an option is skipped entirely in both the online documentation and the command line help. This should only be used when users don't have a (reasonable) use case for this option (e.g., because it stores data that is added via another option like for `output` and `outputTagHolder`).
+
Option types
------------
[[option]]
name = "err"
- category = "undocumented"
+ category = "regular"
long = "err=erroutput"
type = "ManagedErr"
alias = ["diagnostic-output-channel"]
predicates = ["setErrStream"]
includes = ["<iostream>", "options/managed_streams.h"]
+ help = "Set the error (or diagnostic) output channel. Writes to stderr for \"stderr\" or \"--\", stdout for \"stdout\" or the given filename otherwise."
[[option]]
name = "in"
- category = "undocumented"
+ category = "regular"
long = "in=input"
type = "ManagedIn"
includes = ["<iostream>", "options/managed_streams.h"]
+ help = "Set the error (or diagnostic) output channel. Reads from stdin for \"stdin\" or \"--\" and the given filename otherwise."
[[option]]
name = "out"
- category = "undocumented"
+ category = "regular"
long = "out=output"
type = "ManagedOut"
alias = ["regular-output-channel"]
includes = ["<iostream>", "options/managed_streams.h"]
+ help = "Set the error (or diagnostic) output channel. Writes to stdout for \"stdout\" or \"--\", stderr for \"stderr\" or the given filename otherwise."
[[option]]
name = "inputLanguage"
# overwrite an existing file with malicious content.
[[option]]
name = "filesystemAccess"
- category = "undocumented"
+ category = "expert"
long = "filesystem-access"
type = "bool"
default = "true"
+ help = "limits the file system access if set to false"
[[option]]
name = "forceLogicString"
[[option]]
name = "solveBVAsInt"
- category = "undocumented"
+ category = "expert"
long = "solve-bv-as-int=MODE"
type = "SolveBVAsIntMode"
default = "OFF"
[[option]]
name = "BVAndIntegerGranularity"
- category = "undocumented"
+ category = "expert"
long = "bvand-integer-granularity=N"
type = "uint64_t"
default = "1"
[[option]]
name = "iandMode"
- category = "undocumented"
+ category = "expert"
long = "iand-mode=mode"
type = "IandMode"
default = "VALUE"
[[option]]
name = "solveIntAsBV"
- category = "undocumented"
+ category = "expert"
long = "solve-int-as-bv=N"
type = "uint64_t"
default = "0"
[[option]]
name = "solveRealAsInt"
- category = "undocumented"
+ category = "expert"
long = "solve-real-as-int"
type = "bool"
default = "false"
[[option]]
name = "produceInterpols"
- category = "undocumented"
+ category = "regular"
long = "produce-interpols=MODE"
type = "ProduceInterpols"
default = "NONE"
[[option]]
name = "produceAbducts"
- category = "undocumented"
+ category = "regular"
long = "produce-abducts"
type = "bool"
default = "false"