initial
This commit is contained in:
48
README.md
Normal file
48
README.md
Normal file
@@ -0,0 +1,48 @@
|
||||
# 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 didn’t 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 I’m not one
|
||||
to break promises just because my code is crap. You have been warned.
|
||||
|
||||
You’re not alone: I also wish the code were documented.
|
||||
|
||||
## Example
|
||||
|
||||
`cfg` has no comments, but let’s 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!
|
Reference in New Issue
Block a user