mini/README.md at main

mini - A modern INI format for describing object-like data

Codeberg.org

Anyway, use node-based languages like KDL and XML when you can, they're better than key-value serialization formats when you're dealing with sequences of heterogenous nodes!

If you're looking for JSON with comments, try YAML! You probably don't need this repo!

But if you do need something ini-like, well, I will try to be that bitch as much as is helpful.

Neither the idea to do this nor for the name are mine. I didn't mention the very kind person who made those suggestions as I'm not sure whether they wanted to be credited on a toot announcing that I am that bitch.

I reserve the right to edit the above to add credits and citations, but in the meantime, thank you for the ideas and suggestions! ♥

Other things I should probably look at when I have time: un-NIH-ing character class definitions. E.g. TOML defines whitespace as U+0009 or U+0020, rather than checking for `White_Space=y` in UAX 44 data. The definition of `White_Space` is explicitly intended for programming language use!

https://www.unicode.org/reports/tr44/#White_Space

@xgranade I like it and the only thing I think it needs is for its version to be 1.0 (or in lieu of that, a note in the readme saying what more it needs for 1.0–maybe it doesn’t need any features, but it needs social infrastructure?).
@joXn Yeah, no, that's a good point. I'll look at how to handle version numbers better when I copy in the original TOML spec more formally, then.
@xgranade i love it but can it target toml 1.1 instead?
@fay I'm definitely open to that! I went with 1.0 just because there's more implementations of 1.0 out there, but I'm happy to change my mind there.
@xgranade arguably we don't *really* Need multiline tables, but sometimes it's nice to have
@xgranade I love that you are indeed, that bitch : D
@xgranade you chose violence, and I adore you for that.
@xgranade oh my god, i actually created something like this years ago named "Mimi", like, the same concept
@nelson Ah, sorry to stomp on that, then! Happy to adopt that effort if it's still active, and to point to it as prior art in any case!
@xgranade Nonono, my thing never left the concept stage where I wrote an implementation in C and Lua, but it's not really much haha, I'm happy someone actually got to work on the idea

@xgranade mine was much simpler by design, it actually just aimed to be like ini but with stronger definitions, for example...

# comment!

[something]
absolutely = yes yes
not_trimmed = " oops!"
something_else = 12345
hex_values = 0x56AB

[something.subsection]
wonderful = true
not_wonderful = true
"this is a key" = "and this is a value"
binary = 0b10110101
octal = 0o1234

the idea wasn't to extend upon what ini can inherently do but just to make it actually well defined, since I've seen like 90 different versions of this format already in the wild lol

@nelson I mean, the biggest problem with ini is the lack of shared definitions, yeah. I've seen order-million-dollar setbacks caused by differences in whitespace handling between different ini-like parsers.

@xgranade my thing solves it by just trimming all extra whitespace on the sides, and having optional quotes for avoiding that

it also defines a set of valid characters that can be used for the name

i should... try reimplementing this actually

There are 14 competing standards (JK, this seems pretty cool)

There are 14 competing standards

(JK, this seems pretty cool)

@xgranade counting the minutes until Cargo supports this
@nex3 Me, too. Python as well.
@xgranade I do wish the name were more (at all) searchable
@nex3 That's a good point, yeah. Let me think on names, then.
@nex3 Similar idea, but would "initwo" work, possibly with the extension ".i2"? Thinking like "INI two" to point to being rooted in INI file formats.
@xgranade @nex3 I immediately pronounced that in my head and it sounded like Homestar Runner saying "intro" (or "an Intro")
@xgranade @nex3 maybe too confusable with .j2
@nex3 @kouhai Hm, good point. I'll keep thinking, then.

@nex3 @aud @kouhai Created an issue to track, in any case.

https://codeberg.org/cgranade/mini/issues/6

More searchable name?

At @nex3's [suggestion](https://mastodon.social/@nex3/116059875387327879), a more easily searchable name than **mini** might be useful, so I wanted to open an issue to workshop / brainstorm on possible alternatives. I'm most interested in adopting alternatives that don't use any people's names an...

Codeberg.org
@xgranade @nex3 if in2 is so good why isn’t there an iniii or iniv or inv