Lines Matching +full:key +full:- +full:value

9 - [Introduction](#introduction)
10 - [Basic structure](#basic-structure)
11 - [Improvements to the json notation](#improvements-to-the-json-notation)
12 - [General syntax sugar](#general-syntax-sugar)
13 - [Automatic arrays creation](#automatic-arrays-creation)
14 - [Named keys hierarchy](#named-keys-hierarchy)
15 - [Convenient numbers and booleans](#convenient-numbers-and-booleans)
16 - [General improvements](#general-improvements)
17 - [Comments](#comments)
18 - [Macros support](#macros-support)
19 - [Variables support](#variables-support)
20 - [Multiline strings](#multiline-strings)
21 - [Single quoted strings](#single-quoted-strings)
22 - [Emitter](#emitter)
23 - [Validation](#validation)
24 - [Performance](#performance)
25 - [Conclusion](#conclusion)
30 language called `UCL` - universal configuration language.
43 param = value;
45 param = value;
68 "param": "value",
70 "param": "value",
101 "key": "value"
105 {"key": "value"}
111 key = value;
113 key = value;
119 "key": "value",
121 "key": "value"
130 "key1": "value",
131 "key2": "value",
136 * Non-unique keys in an object are allowed and are automatically converted to the arrays internally:
140 "key": "value1",
141 "key": "value2"
147 "key": ["value1", "value2"]
156 key = value;
159 key = value;
168 key = value;
171 key = value;
180 key = value;
190 key = value;
199 + `[kKmMgG]` - standard 10 base multipliers (so `1k` is translated to 1000)
200 + `[kKmMgG]b` - 2 power multipliers (so `1kb` is translated to 1024)
201 …+ `[s|min|d|w|y]` - time multipliers, all time values are translated to float number of seconds, f…
202 * Hexadecimal integers can be used by `0x` prefix, for example `key = 0xff`. However, floating poin…
241 .macro_name(param=value) "something";
242 .macro_name(param={key=value}) "something";
246 .macro_name(key="()") "something";
264 * `try` (default: **false**) - if this option is `true` than UCL treats errors on loading of
265 this file as non-fatal. For example, such a file can be absent but it won't stop the parsing
266 of the top-level document.
267 * `sign` (default: **false**) - if this option is `true` UCL loads and checks the signature for
270 * `glob` (default: **false**) - if this option is `true` UCL treats the filename as GLOB pattern an…
273 * `url` (default: **true**) - allow URL includes.
274 * `path` (default: empty) - A UCL_ARRAY of directories to search for the include file.
276 * `prefix` (default false) - Put included contents inside an object, instead
277 of loading them into the root. If no `key` is provided, one is automatically generated based on eac…
278 * `key` (default: <empty string>) - Key to load contents of include into. If
279 the key already exists, it must be the correct type
280 * `target` (default: object) - Specify if the `prefix` `key` should be an
282 * `priority` (default: 0) - specify priority for the include (see below).
283 * `duplicate` (default: 'append') - specify policy of duplicates resolving:
284- `append` - default strategy, if we have new object of higher priority then it replaces old one, …
285- `merge` - if we have object or array, then new keys are merged inside, if we have a plain object…
286 - `error` - create error on duplicate keys and stop parsing
287 - `rewrite` - always rewrite an old value with new one (ignoring priorities)
296 By default, the priority of top-level object is set to zero (lowest priority). Currently,
299 of the top-level or any other object can be changed with the `.priority` macro, which has no
311 .include(priority=5) "equivalent-path.conf"
312 .include(priority=6) "highpriority-path.conf"
334 key = <<EOD
341 In this example `key` will be interpreted as the following string: `some text\nsplitted to\nlines`.
347 …string, but you can still specify newlines at the beginning and at the end of a value, for example:
350 key <<EOD
363 key = 'value'; # Read as value
364 key = 'value\n\'; # Read as value\n\
365 key = 'value\''; # Read as value'
366 key = 'value\
374 * `JSON` - canonic json notation (with spaces indented structure);
375 * `Compacted JSON` - compact json notation (without spaces or newlines);
376 * `Configuration` - nginx like notation;
377 * `YAML` - yaml inlined notation.
381-schema.org). UCL supports the full set of json schema with the exception of remote references. Th…
387 http://www.json-generator.com/). Then I checked jansson library that performs json
402 UCL compiled with optimizations (-O3) performs significantly faster: