3 ms·
Was mostly just how it turned out. A lot of the decisions were mostly arbitrary, I wanted something that look/felt like an nginx config but was more generic (di
by brettlangdon 11y ago
Was mostly just how it turned out. A lot of the decisions were mostly arbitrary, I wanted something that look/felt like an nginx config but was more generic (didn't have application specific directives), it just so happened to end up looking a lot like yaml.
'=' was arbitrary, I think paired with ';' I was going for a programming language type feel, which might not of been the best decision, but it is what I did. I also have plans to add more features, there currently are references (pointers essentially), intend on adding list/sets, operators (merge/concatenation/substraction/union/intersection/etc) and being able to reference environment variables. Not sure what else is to come.
Also, side note, I found writer a parser that deals with brackets '{}' to define blocks was much easier than trying to do it via whitespace. So that decision was mostly a time based decision.
I wrote an article about the project here: https://brett.is/writing/about/forge-configuration-parser/ https://brett.is/writing/about/forge-configuration-parser/
It doesn't give any good details into why I made the decisions I did, just a quick overview.