Changes to "config" between 2018-07-04 14:30:27 and 2018-07-04 14:34:02

75
76
77
78
79
80
81


82
83
84
85
86
87
88
89
90









91
92
93
94
95
96
97
98
99
100

101

102
103
104
105
106
107
108
75
76
77
78
79
80
81
82
83









84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101

102
103
104
105
106
107
108
109
110
111







+
+
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+









-
+

+







 * Or allow both `:` and `=` to separate keys+values.


## Custom types

Apart from providing aliases for the base types, a plugin API might provide its own custom set of setting types:

| type | alias | usage |
------------------------
| `int` / `integer` / `numeric` | numbers |
| `bool` / `boolean` / `checkbox` | true/false |
| `str` / `string` / `numeric` | string |
| `select` / `multi` / `dropdown` | see select: alternatives |
| `text` / `textarea` / `long` | longer `string` type (= renders as textarea) |
| `color` / `hsv` | graphical color picker |
| `file` / `filechooser` | setting should be a valid filename | 
| `table`/`csv`| for supporting more complex (Excel-style) setting lists. |
| `dict` | complex dictionary (Excel-style) setting field. |
| `int` | `integer` / `numeric` | numbers |
| `bool` | `boolean` / `checkbox` | true/false |
| `str` | `string` / `numeric` | string |
| `select` | `multi` / `dropdown` | see select: alternatives |
| `text` | `textarea` / `long` | longer `string` type (= renders as textarea) |
| `color` | `rgb` | graphical color picker |
| `file` | `filechooser` | setting should be a valid filename | 
| `table`| `csv` / `list` | for supporting more complex (Excel-style) setting lists. |
| `dict` | `hashtable` | complex dictionary (Excel-style) setting field. |


## Other fields

Other per-config attributes migh encompass

| `category:` | grouping config options (else inherited from plugin) |
| `class:`       | either decoration or additional type qualifier |
| `arg:`          | declares a commandline argument instead of global app setting |
|  `param:`   | plugin invocation argument instead of global app flag |
| `param:`   | plugin invocation argument instead of global app flag |

There's some paritiy with the main plugin meta fields. Except that config entries should not have a nested config: attribute, of course^^


## 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`, `xml` or code file, or a database
perhaps.