Files
cfg/README.md
2020-03-18 23:52:20 +01:00

49 lines
1.2 KiB
Markdown
Raw 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. I just got to finishing the data type and
pretty printer today, a parser will be provided soon. I didnt quite create a
correct implementation today. There will most certainly also be memory leaks.
I promised a friend I would share this “later today”, though, and Im not one
to break promises just because my code is crap. You have been warned.
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, 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. 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.
<hr/>
Have fun!