| 31 | |
| 32 | ==== grass executable ==== |
| 33 | |
| 34 | * Refer to it as `grass` in the documentation to avoid rewriting `grass6` to `grass7` to `grass8` (or even with minor versions). Request/require packagers to create `grass` command (they already often do that). |
| 35 | * Use the general "Linux" (POSIX+GNU) standard for options/flags/parameters (of the executable). |
| 36 | * For example, use `-c` and `--create` rather than `-create`, i.e. avoid long flag to have one dash and provide both alternatives. |
| 37 | * Supporting current/legacy syntax like `-text` and `-gui` might be too difficult (definitely remove from manual). |
| 38 | * Same for module-like syntax which could be supported as well, e.g. supporting both `--create=EPSG:3358` and `create=EPSG:3358`. |
| 39 | * Require the order of arguments/operands to be correct (now not enforced). |
| 40 | * Only exception to the rule should be `--help`. |
| 41 | * Possibly use one of Python libraries ([https://docs.python.org/3/howto/argparse.html argparse] >2.7 and >3.2, [https://docs.python.org/3.6/library/optparse.html] in 2.6 and 3.8? but deprecated since 2.7, [https://docs.python.org/3/library/getopt.html getopt] not recommended for general use). |