←back to thread

67 points hgs3 | 2 comments | | HN request time: 0s | source

Hello everyone, I created Confetti: a simple, typeless, and localization-friendly configuration language designed for human-editable configuration files.

In my opinion, JSON works well for data interchange, but it's overused for configuration, it's not localization-friendly, and it's too syntactically noisy. INI is simple but lacks hierarchical structures and doesn't have a formal specification. Confetti is intended to bridge the gap.

I aim to keep Confetti simple and minimalistic, while encouraging others to extend it. Think of it like Markdown for configuration files: there's a core specification, but your welcome to create your own variations that suit your needs.

1. pbronez ◴[] No.43555833[source]
I like how the spec defines character classes by just passing the buck to Unicode

=====

Forbidden Characters

Forbidden characters are Unicode scalar values with general category Control, Surrogate, and Unassigned. Forbidden characters must not appear in the source text.

White Space

White space characters are those Unicode characters with the Whitespace property, including line terminators.

replies(1): >>43558262 #
2. hgs3 ◴[] No.43558262[source]
The "general category" [1] and "whitespace" [2] properties are real character properties defined by Unicode. Referring to them is, ideally, how a language that supports Unicode should do things.

[1] https://www.unicode.org/reports/tr44/#GC_Values_Table

[2] https://www.unicode.org/reports/tr44/#White_Space