So I was able to track down a bit more info from this... seems a bit interesting.
I noticed that functions near the top of the file I was working on were actually beautifying correctly - they were indenting as expected when I hit beautify. So I started removing sections of code between the ones that worked and the ones that didn't, and the culprit was some code that looked like this:
In another .h file which is included:
typedef struct
{
id_enum id;
int reset_value;
} struct_type;
In my file, the code that causes beautifier to change behaviors:
static struct_type struct_array[] =
{
[ARRAY_ENUM_0] = {ID_0, 0},
[ARRAY_ENUM_1] = {ID_1, 0},
[ARRAY_ENUM_2] = {ID_2, 0},
};
If I remove this chunk of code, function params get aligned how I want. If I insert it back in, every function before that code aligns how I want, but everything after it does not, regardless of where I put it in the file. Is there maybe a setting I'm missing that causes it to pick up on some indentation I'm doing in the initialization and start using that from then on?
Attached the beautifier xml, profile is My Default.