tamasfe / taplo

A TOML toolkit written in Rust
https://taplo.tamasfe.dev
MIT License
1.26k stars 108 forks source link

reorder_arrays = false is ignored if the key is set to the array. #608

Open Kladki opened 1 month ago

Kladki commented 1 month ago

I have the following taplo.toml file:

include = ["**/*.toml"]
[formatting]
reorder_arrays = true

[[rule]]
include = ["bar.toml"]
keys = ["baz"]

[rule.formatting]
reorder_arrays = false

I would assume that the rule listed would prevent the array baz from being re-ordered, but still allow for all other arrays to be sorted.

This is my bar.toml file:

baz = ["foo", "bar", "baz"]

sort_me = ["z", "a"]

However, when running taplo fmt, bar.toml ends up like this:

baz = ["bar", "baz", "foo"]

sort_me = ["a", "z"]

As you can see, all arrays were sorted. When omitting keys, nothing gets formatted, which is not what I want.

andrewweston commented 1 month ago

I have a similar rule-based formatting issue. The rule works until I add the include property and then it stops being applied. It will work as expected if I use the Taplo cli.