Files
cfg/README.md

48 lines
1.1 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# cfg
is a spartan fast configuration language.
It has numbers, strings, lists, and sections.
The reference implementation is WIP. There will most certainly be memory leaks.
Youre not alone: I also wish the code were documented.
## Example
`cfg` has no comments, but lets pretend we had `#` comments.
```
# lists start with a name, then an indent, then a hyphen, a space,
# and then a value
my_list
- "value"
- 12
# strings are quoted
my_string "this is a string"
# all numbers are doubles
my_num 42.0
# sections have names, and are indented by 2
my_section
my_inner_string "inner"
my_second_numer 23.0
```
Keys cannot contain spaces. Indents are always two spaces. There is one space
between the hyphen and the value in an array, unless there is a linebreak
immediately after. This is all.
It is a simple format, some might think it is too simple. It is, however,
possible, to write a simple, fast implementation in a few hundred lines of C
(QED), and that might be worth a bit of reduction.
See the [`examples/`](examples/) directory for an example of how to use the
pretty printer and parser APIs.
<hr/>
Have fun!