linkClangd function
Implementation
void linkClangd(
String pluginName, {
List<ModuleInfo>? moduleInfos,
String baseDir = '.',
}) {
final sb = StringBuffer()
..writeln('CompileFlags:')
..writeln(' Add:')
..writeln(' - -I\${PWD}/src')
..writeln(' - -I\${PWD}/lib/src/generated/cpp')
..writeln(' - -I\${PWD}/../packages/nitro/src/native');
// For C++ modules also expose the test/ directory so IDEs resolve mock headers
if (moduleInfos != null && moduleInfos.any((m) => m.isCpp)) {
sb.writeln(' - -I\${PWD}/lib/src/generated/cpp/test');
}
File(p.join(baseDir, '.clangd')).writeAsStringSync(sb.toString());
}