mackup
mackup copied to clipboard
Migrate from `ini` to `yaml`
- Migrate
- Validate with https://github.com/23andMe/Yamale
If I can offer my opinion here, yaml can burn in hell.
Any constructive alternative? I have to hack the INI
format to support lists, which yaml
does out of the box.
Oh I didn't know you faced limitations with ini. json5 is nice, and I guess yaml would also work. It just always feels easy to break or write in a wrong way because of the significant whitespace.
how about toml
? I don't personally like it a lot however it it supports what you need and very much like ini
reference: https://github.com/toml-lang/toml
+1 yaml, its simple and easy to read
Hello, is this TODO still active? I would like to try working on this.
Also, +1 for toml
. Almost the same syntax, with additional features
Yes, it's still active, but before starting any implementation, we should agree on a format, to leverage some toml features without making it too complex.
This is a big breaking change, I agree that it would be best to agree on a format that keeps things simple. Here are some of my thoughts.
-
ini
has felt very strait-forward but feels limited, I agree that a better language that offers schema validation would improve the project overall.
[application]
name = Tmux
[configuration_files]
.tmux.conf
[xdg_configuration_files]
tmux/tmux.conf
-
toml
andini
are very similar in syntax. We could use atoml
array for the files. I've found that there is built-in support for schema validation as well. Plus, we could write a script that convertsini
files totoml
automatically so we don't have to manually update all the application files.
[application]
name = "Tmux"
[configuration_files]
files = [".tmux.conf"]
[xdg_configuration_files]
files = ["tmux/tmux.conf"]
-
yaml
is very common in my development world. There are also powerful packages like you mentioned but I hear you @pvinis that you do not likeyaml
as a language. But to explore it as an option, here's what it could look like.
name: Tmux
configuration_files:
- .tmux.conf
xdg_configuration_files:
- tmux/tmux.conf
What are your thoughts? Is there anything I haven't considered?