I’ve written a custom language plugin, and it can provide some symbols definitions and/or usages (depending on how you think about it) to C/C++. but for the life of me, I can’t get any of the plugin extensions I’ve tried to register to fire upon trying to lookup usages (eg: GotoDeclaration / Ctrl+click) in C/C++ code.
Extensions I’ve tried are: findUsagesHandlerFactory, lang.findUsagesProvider, referencesSearch, usageTargetProvider, customUsageSearcher, cidr.lang.externalResolver, cidr.lang.navigatableSymbolSearcherBridge, and cidr.radler.externalSymbolsProvider
I can tell the extension xml is being loaded as I’ve added a simple postStartupActivity extension that just logs some text and that appears to fire just fine.
I’ve also noted a couple odd things: the psi of C++ code also looks incredibly strange. its all CppDummyBlocks and bare leaf elements. And occasionally I get a bunch of the following exceptions in the log: java.lang.IllegalStateException: Can’t find service for com.intellij.openapi.client.LocalAppSessionImpl(type=LOCAL, clientId=ClientId(value=Host)
If it helps, I’m running my plugin using the gradle runIde task, with the platform dependency set to CL (version 2025.2.1) and have set the idea.suppressed.plugins.set.selector system property to ‘radler’ to ensure it launches with the nova engine enabled.