MK-Alias wrote:

Here a quick summery of the most important things.

The reason I've implemented a `UnsetDefault` is because the program flow 
doesn't work as [you 
specify](https://github.com/llvm/llvm-project/pull/108005#discussion_r1764069398).
 I needed a **untouched** state. Granted that `std::optional` would have been a 
better choice for this codebase. Thats why I had the [extra 
check](https://github.com/llvm/llvm-project/pull/108005#discussion_r1764080701) 
in the `FlagConfigProvider`.

`FlagConfigProvider` is pushed in the vector after `.clangd` config in 
[CLangdMain.cpp](https://github.com/llvm/llvm-project/blob/a4586bd2d4fa7d6c0100893496a9383fd581e2e9/clang-tools-extra/clangd/tool/ClangdMain.cpp#L926)
Then 
[ConfigProvider.cpp](https://github.com/llvm/llvm-project/blob/5ac97d397c2088c3ac0a113506e57ab9b1e69ac8/clang-tools-extra/clangd/ConfigProvider.cpp#L154)
 just iterates over it, which means that `FlagConfigProvider` is evaluated 
**after** `.clangd` and will override it!

I now have a version which I belief is fully compliant to all your critique., 
however this means that the `--function-arg-placeholders` will override the 
`.clangd` `ArgumentLists` setting.

This would be confirm the overlaying logic of the program. So I would recommend 
just accept this.! If someone ever wants to change the parsing order, our new 
`ArgumentLists` will just confirm to that.!

I will push the new version in a couple of minutes for you to evaluate.

https://github.com/llvm/llvm-project/pull/108005
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to