24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
|
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
|
-
+
-
-
+
+
|
* `str`/`string` for plain textual content.
* `int`/`integer` verifies the value to be numeric.
* `select`/`combo` defining a predefined list of defaults.
* With `select: "aaa|bbb|ccc"` being the alternatives attribute for
* With `select: "aaa|bbb|ccc"` being the alternatives attribute for
combobox options.
* `description:` holds some elaboration on the key name.
* And `value:` just sets a default.
## Storage and key name:
Notably this scheme just defines a list of available options. It does **not**
prescribe if they're stored in an .ini, .json or code file, or in the database
or elsewhere.
prescribe if they're stored in an `.ini`, `.json`, `xml` or code file, or a database
perhaps.
Applications might utilize different stores even, and dispatch depending on
the `name:` even. For instance `name: ALL_UPPERCASE` might become a
constant, while `name: sectioned.feature.option` indicated an INI setting,
or `name: "$cfg.plugins[after][]"` even a literal code target.
So names can be somewhat free-form. I'd avoid including the `$` sigil
|