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